apache poi最大行数

Posted

技术标签:

【中文标题】apache poi最大行数【英文标题】:apache poi maximum number of rows 【发布时间】:2012-08-14 14:23:15 【问题描述】:

我想知道使用 apache poi 3.8 可以创建的最大行数是多少,以及使用 apache poi 3.0 可以创建的用于生成 excel 文件的最大行数是多少。

【问题讨论】:

我们鼓励您research your questions。如果您有tried something already,请将其添加到问题中 - 如果没有,请先研究并尝试您的问题,然后再回来。 @David B, Peter Lawery。伙计们,我在发布问题之前做了谷歌。我没有找到答案,对于最大行数,这就是我发布问题的原因。 @Nomad 你应该在你的问题中添加你的研究结果。 【参考方案1】:

另一个 SO 用户向create many rows with POI 3.8 提供了一个方法。最大行数也受您尝试打开文件的 Excel 版本中的最大值的限制。 int 数据类型由 getRowNum (see API) 返回,因此可以提供您的“最大值”,但超出 Excel 版本中指定的行数(2003 年约为 65k,2007 年以上为 1,048,576)将意味着数据丢失和潜在错误。

【讨论】:

@Nomad 他们试图帮助但不仅仅是你,你不是唯一可能遇到这个问题的人,所以它应该从这里开始帮助其他人。如果您阅读FAQ,您可以更好地了解他们的“批评者”背后。【参考方案2】:

这些限制值由 POI 提供: https://poi.apache.org/apidocs/org/apache/poi/ss/SpreadsheetVersion.html

具体来说:SpreadsheetVersion.EXCEL97.getMaxRows()SpreadsheetVersion.EXCEL2007.getMaxRows()

【讨论】:

【参考方案3】:

以防万一你想抓住它,这是被抛出的异常。

java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (0..65535)

【讨论】:

这是 HSSF 工作簿的。对于 XSSF,一个限制大约是 1M 行

以上是关于apache poi最大行数的主要内容,如果未能解决你的问题,请参考以下文章

POI读写大数据量excel,解决超过几万行而导致内存溢出的问题

Excel--01--poi 简介

POI技术

Apache poi HSSF 返回不正确的物理行数

如何使用 apache poi 确定合并单元格中的行数?

java poi 如何获取获得excel的总的行数和列数?