gpt4 book ai didi

java - 如何使用 SXSSF 写入现有文件?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:43:05 26 4
gpt4 key购买 nike

我有一个 .xlsx 文件,其中包含包含不同数据的多个工作表。在所有的Sheet中,一张需要容纳近10万行数据,而且数据需要用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 的类型转换。

我试图看看是否有任何方法可以跨不同的工作簿复制工作表,但到目前为止,它似乎必须逐个单元地完成。

关于如何解决这个问题有什么见解吗?

最佳答案

您可能有一个要向其添加大数据的模板。您需要使用 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

关于java - 如何使用 SXSSF 写入现有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32029374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com