我有一个.xlsx文件,其中包含多个包含不同数据的工作表。在所有的工作表中,一个工作表需要容纳接近100,000行数据,并且需要使用带有POI的Java来写入数据。
对于SXSSFWorkbook,这似乎相当快速和简单,在这里我只能在内存中保留100行,但缺点是我只能写入一个新文件(或覆盖现有文件)。
此外,我不允许‘加载’一个现有的文件,即
null
SXSSFWorkbook wb = new SXSSFWorkbook(file_input_stream)
null
我可以使用工作簿工厂:
null
Workbook workbook = new SXSSFWorkbook();
workbook = WorkbookFactory.create(file_input_stream);
null
但到了我要清理的时候,
((SXSSFSheet)sheet).flushRows(100);
null
我得到的错误是不允许从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
我用SXSSF写了100万条记录(最坏的情况)。 以下是我编码的方式。我必须将记录写入已经存在的excel模板。此模板在类路径中可用。我将此模板复制到公共位置。使用 XSSFWorkBook 加载此文件。SXSSFWorkbook 使用 XSSFWorkBook 和 window size(-1) 作为参数进行初始化。 当记录计数达到100的倍数时,我将冲洗工作表。 但是在执行这个过程中,堆内存逐
本文向大家介绍VBA 使用FileSystemObject写入现有文件,包括了VBA 使用FileSystemObject写入现有文件的使用技巧和注意事项,需要的朋友参考一下 示例
问题内容: 我如何将分数写入文件? 问题答案: 您可以手动打开和关闭文件,但最好使用它,因为它可以为您处理关闭文件。 表示追加到文件中,该文件不会覆盖以前的内容- 这可能是您想要的。据我所知,您将要在print语句之后或之前添加它。如果您不懂读写文件,则应查看此链接。
问题内容: 我想知道如何将以下代码转换为将这些行输出到文本文件,而不是标准输出: 该属性文件是: 谢谢。 问题答案: 将ConsoleAppender更改为FileAppender。 我发现 有用。如果使用此选项,则必须为fileName添加一个属性,并且可能还要设置maxFileSize。这是一个示例(将它们放在log4j.properties文件中): 还有其他附加程序。 根据时间滚动。 不滚
考虑以下代码: 我唯一发现的是: dump(Object data)方法接受Java对象并生成YAML文档 和 是只有我一个人,还是文档感觉非常神秘和指定?其中一半是关于我甚至从未听说过的特殊应用。我只看着它就觉得自己很傻,这让我有点生气。 不管怎样;如果你能给我任何帮助,我将不胜感激。
问题内容: 我已经编辑了程序,现在它说setString() 对于LabelCell类型,未定义setString(String)方法。 我阅读了文档,在LabelCell类型中有一个setString方法。 问题答案: LabelCell只是具有一种方法的接口,即您可以在此处了解更多信息 您应该改用。 您应该做的确切如下: 您应该导入以下文件 然后下面是将所需位置的单元格添加到excel文件中的