是否可以在流式SXSSFWorkbook上自动调整列大小?我实现了一个导出功能,将对象列表导出到excel。起初,我使用XSSFWorkbook(非流式),在创建所有单元格后,我自动调整所有列的大小,生成一个漂亮的excel文件。
对于性能问题,我们想将工作簿更改为流式版本,但这导致org上出现了一个空指针。阿帕奇。poi。不锈钢。util。SheetUtil。getCellWidth。
是否可以为SXSSFWorkbook调用autoSizeColumns?
我使用的是poi ooxml 3.9,但我在3.8中遇到了同样的问题。
错误:NullPointerException在org.apache.poi.ss.util.SheetUtil.getCellWidth(SheetUtil.java:122)
修复:始终将值设置为Cell,如下所示,当Cell中为空时会抛出NullPointerException,因此将值设置为:
Cell c = row.createCell(i);
c.setCellValue(text == null ? "" : text );
使用工作表。IsColumnTrackedForAutosize(0);对于第一个列和随后用于其他列的列,每当执行autoSizeColumn(0)的代码被执行时,我都会遇到异常。通过使用上面的代码,我已经解决了这个问题,并且可以根据文本扩展列宽。
您需要确保每个单元格都有一个值。
我们使用以下代码为单元格设置字符串值:
Cell c = row.createCell(i);
c.setCellValue(text == null ? "" : text );
**单元格永远不应该是空值,否则它会抛出NullPointerException。因此设置如上所示的值。
非常感谢,这很有帮助!!
因为我想在设置compress:true时替换此方法 为什么我要换掉这个?因为我想弄清楚高速缓存大小是否是在高并发(apache jmeter:50个用户,6个循环,ramup 20)情况下减慢从POI-SXSSF-sheet???.gz到POI-SXSSF-template???.xlsx的写入速度的主要原因。但问题是在初始化SXSSFWorkbook时如何使用我自己的SheetDataWrit
使用SXSSFWorkbook读取Excel,1W行数据,188列(测试时只有前16列有数据) 读取操作完成后,JVM中存在大量的org.apache.xmlbeans.impl.store.Xobj$AttrXobj org.apache.xmlbeans.impl.store.Xobj$ElementXob类的实例,很长时间内不会被GC 我尝试过使用SAX事件驱动解析Excel、Streami
我是Java开发者。我正试图使用Apache POI库的SXSFWorkbook类编写一个大的xlsx文件(Excel)。 我没有选择写大文件,因为有超过200000行。但我需要使用一些公式或vlookup与外部表。当我使用: 但它不工作,返回0值。 Q-如何在SXSSFWorkbook中使用公式? 我的代码- 如果可能的话,请给我建议。谢谢
有几个相关的问题,但我找不到一个能反映我的情况的。 我正在使用SXSSFWorkbook和SXSSFSheet对象编写一个带有ApachePOI的Excel“xlsx”文件。文件创建时没有问题,在LibreOffice中可以正常打开,但是Excel在打开文件时会发出抱怨。 Excel在test-file.xlsx中发现无法读取的内容。要恢复工作簿的内容吗?如果信任此工作簿的源,请单击是。 当选择“
但是电子表格表示已更改的元数据,并且当元数据已更改时,我希望在显示旧值的单元格中添加注释。我在小的电子表格上使用了这个方法,但是当尝试处理大文件时,它总是失败,导致堆内存错误。 我不确定问题是由于Poi限制将所有注释存储在内存中,还是我做错了。Worksheet是我自己的包装类,我只为每个sheet创建一个DrawingPatriach类,但看起来我必须为我需要的每个注释创建一个锚。
Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常