当前位置: 首页 > 面试题库 >

如何使用Apache POI 3.6在Excel工作表中获取超过255列

魏煜祺
2023-03-14
问题内容

我在Excel中创建日历。第1列是2010年1月1日(dd.MM.yyyy),第2列是2010年2月1日,依此类推。

这是我的代码:

int day_cell = 0;

for(int i = 0; i < days.size(); i++)
{
     Date day = days.get(i);

     HSSFCell cell = row.createCell(day_cell++);
     cell.setCellValue(day.toString());
}

当我到达第256列时,POI抛出此异常

java.lang.IllegalArgumentException: Invalid column index (256).  Allowable column range for BIFF8 is (0..255) or ('A'..'IV')
at org.apache.poi.hssf.usermodel.HSSFCell.checkBounds(HSSFCell.java:926)
at org.apache.poi.hssf.usermodel.HSSFCell.<init>(HSSFCell.java:162)
at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:141)
at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:119)

我发现此错误报告表明它已在3.6版本中修复。我们使用的是3.5,但更改为3.6似乎没有任何好处。有人提示吗?

https://issues.apache.org/bugzilla/show_bug.cgi?id=46806

编辑:似乎该错误问题是关于公式的。


问题答案:

我想到了。我不得不从 org.apache.poi.hssf.usermodel 切换 到
org.apache.poi.ss.usermodel

这使您可以使用16k列或类似的内容。



 类似资料:
  • 问题内容: 如何在Java中使用poi获取单元格值? 我的代码看起来像这样 但是,如果在这种情况下,我如何检查我的单元格值是否包含错误值,例如#DIV / 0!以及如何用N / A替换它 问题答案: 您必须使用FormulaEvaluator,如图所示这里。如果单元格包含这样的公式,它将返回一个值,该值要么是单元格中存在的值,要么是公式的结果: 如果您需要精确的内容(例如,如果单元格包含公式,则为

  • 我可以知道如何从Katalon Studio的excel工作表中读取数据,以便从文件中读取APIendpoint以检查其输出吗? 如何用java编写代码来运行URL并验证来自APIendpoint的响应?

  • 下面的代码用于获取excel文件(.xlsx)的工作表名称 上面的代码存在的问题是,为一个9MB大小的文件创建需要占用大量内存(~700MB)&时间很长(5-6s)。即使将设置为也不会释放占用的内存(我知道可能被调用,也可能不被调用&JVM不会仅仅因为我将变量设置为null而释放内存) 我确实浏览了Workbook,XSSFWorkbook&根据我的理解,没有任何方法可以帮助我获得内存印记较低的工

  • 问题内容: 我有以下代码用于获取excel文件的工作表名称(.xlsx) 我上面的代码存在的问题是,为9MB大小的文件创建文件需要花费大量内存(〜700MB)和较长时间(5-6s)。即使将设置为,也不会释放占用的内存(我知道可能会叫,也可能不会叫&JVM不会因为我将变量设置为null而释放内存) 我确实浏览了Workbook,XSSFWorkbook的文档,据我了解,没有任何方法可以帮助我获得内存

  • 本文向大家介绍如何使用python在Selenium中的工作簿中获取活动表?,包括了如何使用python在Selenium中的工作簿中获取活动表?的使用技巧和注意事项,需要的朋友参考一下 我们可以在Selenium的工作簿中获得活动表。Excel是电子表格,扩展名为.xlsx。一个excel工作簿有多个工作表,每个工作表都由行和列组成。 在所有工作表中,当我们访问一个称为活动工作表的特定工作表时。

  • 本文向大家介绍如何使用python在Selenium中获取工作表中的所有值?,包括了如何使用python在Selenium中获取工作表中的所有值?的使用技巧和注意事项,需要的朋友参考一下 我们可以在Selenium中的工作表中获取所有值。Excel是电子表格,扩展名为.xlsx。一个excel工作簿有多个工作表,每个工作表都由行和列组成。 在所有工作表中,当我们访问一个称为活动工作表的特定工作表时