【发布时间】:2015-08-15 21:09:33
【问题描述】:
我有一个 .xlsx 文件,其中包含多个包含不同数据的工作表。在所有表格中,一张表格需要容纳近 100,000 行数据,并且需要使用 Java 和 poi 编写数据。
使用 SXSSFWorkbook 似乎非常快速和简单,我只能在内存中保留 100 行,但缺点是我只能写入新文件(或覆盖现有文件)。
另外,我不允许“加载”现有文件,即
SXSSFWorkbook wb = new SXSSFWorkbook(file_input_stream) 是不允许的。
我可以使用工作簿工厂:
Workbook workbook = new SXSSFWorkbook();
workbook = WorkbookFactory.create(file_input_stream);
但是当我需要刷新行时,
((SXSSFSheet)sheet).flushRows(100);
我收到不允许从 XSSFSheet 到 SXSSFSheet 的类型转换的错误。
我试图查看是否有任何方法可以在不同的工作簿之间复制工作表,但到目前为止似乎必须逐个单元格地完成。
关于如何解决这个问题的任何见解?
【问题讨论】:
标签: java excel apache-poi xssf