草庐IT

java - 向 POI XSSF 工作簿中的合并区域添加边框

我使用的是apachepoi3.7,我需要为一系列单元格或合并区域设置边框。当工作表和工作簿类型为XSSF时,如何将边框应用于合并区域。在HSSF类型中,我使用RegionUtil-/HSSFRegionutil,但如果在XSSF类型中使用第一个对象(Regionutil),则它不起作用,并为单元格范围添加黑色背景色。Regionutil通常与CellRangeAddress配合使用,但我找不到有关此问题的信息。我不知道CellRangeAddres是否会导致此问题。 最佳答案 为此,您必须向合并区域中的每个单元格添加一个空白单元格

java - apache poi 将一种样式应用于不同的工作簿

我正在尝试将一种单元格样式应用于不同的工作簿。当我将它应用于第一个工作簿时效果很好,但是当我尝试对第二个和下一个工作簿执行此操作时-没有应用任何样式并引发以下异常。Exceptioninthread"Thread-3"java.lang.IllegalArgumentException:ThisStyledoesnotbelongtothesuppliedWorkbookStlyesSource.Areyoutryingtoassignastylefromoneworkbooktothecellofadifferntworkbook?atorg.apache.poi.xssf.user

java - HSSFWorkbook vs XSSFWorkbook vs SXSSFWorkbook - Apache-poi

HSSFWorkbook与XSSFWorkbook以及XSSFWorkbook和SXSSFWorkbook的优点/缺点? 最佳答案 每个API功能的电子表格:来源:https://poi.apache.org/spreadsheet/ 关于java-HSSFWorkbookvsXSSFWorkbookvsSXSSFWorkbook-Apache-poi,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

java - 如何使用 Apache POI 旋转电子表格单元格中的文本?

如何在ApachePOI的HSSFCell类中旋转文本? 最佳答案 使用HSSFCellStyle,该类有一个名为setRotation(shortrotation)的方法,可以旋转文本。您所做的就是将单元格样式应用于单元格:HSSFCellStylemyStyle=workbook.createCellStyle();myStyle.setRotation((short)90);HSSFCellc=row.createCell(columnNumber);c.setCellStyle(myStyle);

java - 大型电子表格的 Apache POI Java Excel 性能

我有一个电子表格,我正在尝试使用POI阅读(我有xls和xlsx格式),但在这种情况下,问题出在xls文件上。我的电子表格大约有10,000行和75列,读取它可能需要几分钟时间(尽管Excel会在几秒钟内打开)。我正在使用基于事件的阅读,而不是将整个文件读入内存。我的代码的内容如下。现在有点乱,但它实际上只是一个很长的switch语句,大部分是从POI示例中复制的。使用事件模型的POI性能是否典型地如此缓慢?我有什么办法可以加快速度吗?我认为几分钟对我的申请来说是NotAcceptable。POIFSFileSystempoifs=newPOIFSFileSystem(fis);Inp

写入 XWPFTable 单元格时忽略 Java Apache POI 换行符

希望有人对此有一些经验。我正在使用ApachePOI3.8b4以Word2007格式输出表格。当我执行类似以下操作时:XWPFTableRowrow=table.getRow(0);Stringtext="A\nB\nC\nD";row.getCell(i).setText(text);在表格单元格的输出中我所有的换行符都被忽略了ABCD有没有人知道如何让它正确显示为ABCD编辑:解决方案如下:XWPFParagraphpara=row.getCell(i).getParagraphs().get(0);for(Stringtext:myStrings){XWPFRunrun=para

java - 使用 Apache POI 刷新数据透视表

Apache站点中关于ApachePOIforPivottables的无/极少文档让我写了这篇文章。我想使用ApachePOI刷新工作簿中的数据透视表。请告诉我在哪里可以获得与此相关的适当文档和示例。 最佳答案 请按照我所做的以下操作。在MyFileName.xlsx文件中为数据透视表填充粗略数据。通过OFFSET()或NamedTable创建动态范围公式作为数据透视表的源数据并绘制数据透视表。只需右键单击您的数据透视表并选择数据透视表选项->数据->勾选打开文件时刷新数据打开一个MyFileName.xlsx文件并填写数据。就这些

java - Apache-POI 在 excel 中排序行

我想按字符串列之一对工作表中的行进行排序。我尝试使用Sheet.shiftRows方法来实现,但我无法用它来管理。它不会在我的方法中切换行的位置。我的代码有什么问题?或者也许有更好的方法可以按Excel中的任何字符串列对行进行排序?/***Sorts(A-Z)rowsbyStringcolumn*@paramsheet-sheettosort*@paramcolumn-Stringcolumntosortby*@paramrowStart-sortingfromthisrowdown*/privatevoidsortSheet(Sheetsheet,intcolumn,introwSt

java - 如何使用 Apache POI 在 Java 中读取 Excel 的合并单元格?

我有一个.xlsx格式的Excel文件。我通过合并单元格以形成各种列来存储数据。我正在通过JavaWeb应用程序读取Excel文件并将其数据保存到数据库(MySQL)。但是当我从合并的单元格中读取时,我得到空值以及存储在列和标题中的内容。我正在使用Apache兴趣点。我的代码是:publicstaticvoidexcelToDBLogIN(){FileInputStreamfile=null;Booleanflag=true;ArrayListrows=newArrayList();try{//hereuploadFoldercontainsthepathtotheLogin3.xls

java - Apache POI getRow() 返回 null 并且 .createRow 失败

我在使用ApachePOIv3.12时遇到以下问题:我需要使用一个包含49行[0..48]的XLSX文件作为模板,用数据填充它的单元格并将其作为不同的文件写出,这样我就可以再次使用该模板。我所做的大致是这样的:XSSFWorkbookwbk_template=newXSSFWorkbook(newFileInputStream(f_wbk_template));SXSSFWorkbookwbk=newSXSSFWorkbook(wbk_template,50,true);Sheetsheet=wbk.getSheet(STR_SHEET_NAME);/稍后/Rowrow=sheet.g