Tag: apache poi

在Apache POI中创build一个CellStyle库

我的系统使用Java的Apache POI生成许多不同的Excel报告。 很多这些报告共享相同的样式。 我已经创build了一个CellStyle库供所有的报告使用。 我想知道是否有一个更好的方法。 import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Workbook; public class CellStyles { CellStyle headingCellStyle = null; Workbook wb; public CellStyles(Workbook wb) { this.wb = wb; } public CellStyle getHeadingCellStyle() { if (headingCellStyle == null) { headingCellStyle = wb.createCellStyle(); headingCellStyle.setFillForegroundColor(HSSFColor.YELLOW.index); headingCellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); } return headingCellStyle; } } 然后调用它 Workbook wb = new XSSFWorkbook(inputStream); // […]

Apache POI – 如何在Excel中设置“适合所有列在一个页面上”的文件

我有一个要求,由Apache POI生成的文件需要生成一个页面中的所有列设置集。 我已经尝试了一堆与API的变化,但到目前为止,我还没有能够做到这一点。 我也不能真正发现是否可以做到。 看起来像setFitToPage(true)函数调整高度和宽度不只是像我想要的宽度。 使用setFitWidth和setFitHeight像我发现在其他各种堆栈溢出问题似乎并没有影响任何东西。 这是我到目前为止: public void setPrintSettings(Sheet sheet) { sheet.setFitToPage(true); //this will resize both height and width to fit sheet.getPrintSetup().setLandscape(true); sheet.getPrintSetup().setFitWidth((short) 1); sheet.getPrintSetup().setFitHeight((short) 1); }

有没有办法使用Apache POI在Excel中创build数据透视表?

我目前正在进行Excel的自动化,并添加这样我已经很好地使用了Apache POI库。 由于我有很多数据存储在我的Excel工作簿中的各个列,我试图创build一个数据透视表。 有没有办法使用POI创build数据透视表? 我的要求是,我需要在一个新的Excel工作簿或在我存储我的数据在同一个工作簿中创build数据透视表。

Apache POI:更改Excel工作表的页面格式

有没有办法在使用Apache POI创buildExcel文档时更改页面大小和布局? 默认的是A4垂直,而我需要A6-水平(横向)。 我不认为这个问题需要代码示例,正如手册中所述,创buildExcel文档: Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet("new sheet");

Apache POI for Excel:将单元格types设置为整个列的“文本”

我需要生成一个.xls(Excel)文件,使用电子表格的Java库Apache POI 。 该文件将包含A列中的电话号码列表,格式为“0221 ….”或“+49221 …” – 因此Excel默认将其解释为数字单元格。 这是不好的,因为领先的0或+会被修剪。 为了解决这个问题,我可以使用cell.setCellType(Cell.CELL_TYPE_STRING) ,它可以正常工作,但仅限于我为此设置的特定单元格。 我怎样才能应用整个列的设置(即使所有的剩余单元格,用户将input额外的电话号码)? 在Excel中,这是可能的 :select整个列,并应用单元格types(设置保存/加载文件仍然存在)。 但是我找不到POI的正确方法。 首先我假设,它应该是像sheet.setDefaultCellType(int colNum) 。 但是我找不到像这样的东西(可能我只是瞎了?图书馆有很多类似的方法来应用文本样式,比如“align center”等) 然后我想:也许它只能应用于一个NamedRange或类似的东西,但我还没有设法解决这是如何工作的…

如何读取忽略前两行的excel文件

我有一个111行的Excel文件。 我需要省略工作表的前两行,然后使用java和POI读取文件。

无效的标题读取xls文件

我正在读本地系统上的一个excel文件。 我正在使用POI jar版本3.7,但获取错误无效的头部签名; 读-2300849302551019537或hex0xE011BDBFEFBDBFEF,预期-2226271756974174256或hex0xE11AB1A1E011CFD0。 用Excel打开xls文件工作正常。 代码块在哪里发生:任何人的想法? /** * create a new HeaderBlockReader from an InputStream * * @param stream the source InputStream * * @exception IOException on errors or bad data */ public HeaderBlockReader(InputStream stream) throws IOException { // At this point, we don't know how big our // block sizes are // So, read […]

Apache POI – Excel写入 – locking单个单元

我使用Apache POI来生成我的客户可以下载的Exccel Templete,添加值并上传回来。 我想设置单元格值不可编辑,以便模板标题不能被编辑。 我试过这个代码,但它不工作, cell.getCellStyle().setLocked(true) 我也读过,lockingExcel表,然后允许列locking(假)将工作,但我不知道有多less列将由客户端填写,所以我想要的是所有其他列被编辑,除了我填充dynamic使用Apache POI。 我希望我的查询清楚明白。

如何在Excel或apache POI中“格式化为表格”?

在Excel 2010中,可以将一组单元“格式化为表格”,从而实现轻松sorting和过滤(Home> Format As Table)。 我可以在Apache POI中执行相同的操作吗? 或者,可以通过macros/公式(而不是Ctrl + T或单击工具栏button)直接在Excel中完成上述操作?

XSSF(POI) – 将“公式”列添加到数据透视表

我正在使用POI 3.12-beta1: <!– Apache POI (for Excel) –> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12-beta1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.12-beta1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.1</version> </dependency> 我正在尝试创build一个计算的数据透视表列,它被定义为: = 'Ended' / 'Generated' * 100 。 我继续在Excel中手动编辑工作表,以使其正常工作。当我将*.xlsx文件反转为ZIP目录并查看它时,我在\xl\pivotCache\pivotCacheDefinition1.xmlfind了以下代码: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <pivotCacheDefinition xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1" refreshOnLoad="1" refreshedBy="vyasrav" refreshedDate="42110.580247453705" createdVersion="3" refreshedVersion="3" minRefreshableVersion="3" recordCount="352"> <cacheSource type="worksheet"> <worksheetSource ref="A1:O353" sheet="Data"/> </cacheSource> <cacheFields count="16"> […]