Java 编写大型excel电子表格

Java 编写大型excel电子表格,java,spreadsheet,Java,Spreadsheet,有没有人找到一个能很好地处理大型电子表格的库 我尝试过apache的POI,但它在处理大文件时失败得很惨——无论是读还是写。它使用了大量内存,因此您需要一台超级计算机来解析或创建一个20+mb的电子表格 肯定有一种更节省内存的方法,而且是有人写的 您是否尝试过作为POI的替代方案?我承认我不能评论它的内存效率。我真的不能向您推荐一个库。但是,当您需要最好的性能时,可能值得一试,去找那些首先提出Excel的人。我想.NET中提供的API在处理Excel文件方面要有效得多。因此,我们的想法是在.NE

有没有人找到一个能很好地处理大型电子表格的库

我尝试过apache的POI,但它在处理大文件时失败得很惨——无论是读还是写。它使用了大量内存,因此您需要一台超级计算机来解析或创建一个20+mb的电子表格


肯定有一种更节省内存的方法,而且是有人写的

您是否尝试过作为POI的替代方案?我承认我不能评论它的内存效率。

我真的不能向您推荐一个库。但是,当您需要最好的性能时,可能值得一试,去找那些首先提出Excel的人。我想.NET中提供的API在处理Excel文件方面要有效得多。因此,我们的想法是在.NET中实现一个web服务或类似组件,它为您完成大部分与Excel相关的grunt工作,并从Java中调用它

在发布时,没有用于读取和写入大型excel文件的纯java可伸缩解决方案。

这与基本相同,但您可以使用直接从java访问excel API。我们用Word在这方面做得很成功。明显的缺点是它只在Windows上工作。

可能是CSV文件格式可以帮助您。您只需用逗号分隔每个值,并以.csv扩展名保存文件。

@pstanton。。 我当时正在研究一个类似的解决方案,能够编写包含数百行从数据库导出的大型Excel2007文件。以下是它的链接:

我的解决方案是Yegor Koslov的SheetWriter类的一个扩展,遵循这个,它对我非常有效。 如果您遇到任何问题,请告诉我


~Vikram

很确定它一次读取一整张工作表,这会导致内存问题。我认为问题在于与POI相比,JExcelAPI读取该工作表的效率有多高。你确定需要电子表格,而不是(嵌入式)数据库吗?或者甚至CSV?那你就真的迷路了。或者,等等。。是否允许使用
xlsx
?或者它真的是
xls
?xlsx很好。。任何可以有多个工作表、公式、格式等并在excel.CSV文件中打开的文件都可以在excel上打开。我已经更新了BigGridDemo以支持多个工作表。答覆[1]:这是最好的解决方案,因为之前她说它不能是任何类型的数据库或CSV,但必须是excel。因此,如果你喜欢excel,不能使用其他任何东西,请使用Microsoft技术。NET的东西真的可以很好地配合使用。谢谢vikram…你的博客文章很有趣,我会在我访问时详细阅读查找时间。对xlsx文件使用新的SXSSF poi 3.8