如何使用SXSSF写入现有文件?
我有一个包含不同数据的多个工作表.xlsx文件。 在所有表单中,需要容纳近100,000行的数据,并且数据需要用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的types转换的错误。
我试图看看是否有任何方法将工作表复制到不同的工作簿中,但到目前为止似乎必须逐个单元地完成。
有关如何解决这个问题的任何见解?
你可能有一个你想添加大数据的模板。 您需要使用SXSSFWorkbook(XSSFWorkbook)
构造函数:
XSSFWorkbook wb = new XSSFWorkbook(new File("template.xlsx")); SXSSFWorkbook wbss = new SXSSFWorkbook(wb, 100); Sheet sheet = wbss.createSheet("sheet1"); // now add rows to sheet