【问题标题】:apache poi maximum number of rowsapache poi最大行数
【发布时间】: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 你应该在你的问题中添加你的研究结果。

标签: java excel apache-poi


【解决方案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 行
    猜你喜欢
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    相关资源
    最近更新 更多