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最大行数的主要内容,如果未能解决你的问题,请参考以下文章