如果使用streaming
API,而不是普通的API,则可以极大地提高Apache POI的性能。POI将在您编写文件时将所有数据保存在内存中,对于大型文件,这可能相当昂贵。您可以使用流API并指示POI逐步刷新数据。
以下是POI网站上的一个例子:
public static void main(String[] args) throws Throwable {
SXSSFWorkbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
Sheet sh = wb.createSheet();
for(int rownum = 0; rownum < 1000; rownum++){
Row row = sh.createRow(rownum);
for(int cellnum = 0; cellnum < 10; cellnum++){
Cell cell = row.createCell(cellnum);
String address = new CellReference(cell).formatAsString();
cell.setCellValue(address);
}
}
// Rows with rownum < 900 are flushed and not accessible
for(int rownum = 0; rownum < 900; rownum++){
Assert.assertNull(sh.getRow(rownum));
}
// the last 100 rows are still in memory
for(int rownum = 900; rownum < 1000; rownum++){
Assert.assertNotNull(sh.getRow(rownum));
}
FileOutputStream out = new FileOutputStream("/temp/sxssf.xlsx");
wb.write(out);
out.close();
// dispose of temporary files backing this workbook on disk
wb.dispose();
}
查看Apache POI的网站了解更多信息。(在SXSSF(Streaming Usermodel API)下)
怎么用java将 xlsx文件 转换成 csv 格式 我想通过java后台将一个xlsx格式的文件转为csv文件,并且可以导出,有推荐的工具或方案吗? 如果有代码示例就更好了
我尝试以两种方式导入.xlsx文件: 1)如果我从日食中跑出来,如果我导入,我能够成功导入 2)如果我为我的产品创建了一个. jar文件,并在不使用eclipse的情况下作为一个独立的应用程序运行,我会得到一个OutOfMemoryException,因此无法导入 我的文件大小约为3mb,我使用poi 3.9、poi-ooxml-3.9、poi-ooxml-Schemas-3.9、dom4j和xm
本文向大家介绍java web将数据导出为Excel格式文件代码片段,包括了java web将数据导出为Excel格式文件代码片段的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java web将数据导出为Excel格式文件的具体代码,供大家参考,具体内容如下 1、jsp代码 <input type="button" class="btn btn-info" onclick="get
本文向大家介绍java web将数据导出为pdf格式文件代码片段,包括了java web将数据导出为pdf格式文件代码片段的使用技巧和注意事项,需要的朋友参考一下 此片段达到的效果是:访问此请求,浏览器将打开新的界面并显示pdf文件预览,在文件预览界面可以下载该pdf文件。 1、jsp界面代码 <input type="button" class="btn btn-info" onclick="g
本文向大家介绍ASP.NET Core 导入导出Excel xlsx 文件实例,包括了ASP.NET Core 导入导出Excel xlsx 文件实例的使用技巧和注意事项,需要的朋友参考一下 ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和
我正在使用openpyxl导入/导出xlsx文件。 但是我不能导入我用openpyxl导出的文件。 我必须在Excel中打开导出的xlsx文件,更改导入的xlsx文件的一些值并保存它(它的大小也会改变(例如:从148 Ko到180 Ko)。然后我可以用openpyxl导入它。 我认为,有一个问题,在出口,因为后保存手动导入作品。 谢谢