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

汤米:

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

这是我的代码:

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列或类似的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Apache POI获取Java中Excel工作表各行的最后一列值

使用Apache POI删除Excel工作表

使用Apache POI复制Excel工作表

如何使用Java Apache POI在Excel中添加标题列?

如何使用Apache POI在Excel中逐列写入数据?

如何使用Java Apache POI在Excel工作表中隐藏以下未使用的行?

Apache POI-如何使用选项保护工作表?

如何使用Apache POI选择并加粗整个工作表

如何使用apache-poi将Excel工作表中的值设置为Pojo对象?

如何使用Apache POI为Excel工作表中的行应用背景颜色?

如何使用Apache POI在Excel工作表中搜索特定日期?

如何使用Apache POI在Excel中为每个工作表添加不同的颜色

如何使用Excel中的POI从Excel工作表获取单独的列数据以将其存储在对象的数组列表中?

如何使用 Apache POI 从 Excel 获取货币代码?

如何在Java中使用Apache POI将数据验证添加到Excel工作表的整个列中?

使用Apache Poi从Excel工作表中获取单元格值

使用Apache POI如何读取特定的Excel列

使用Apache POI从Excel文件中获取列?

如何使用Apache POI从Excel中获得价值

Apache Poi,如何获取链接的工作簿?

如何获取 SignatureLines excel apache poi

使用 Apache POI 获取 Excel 填充颜色

如何使用Apache Poi添加表标题下拉列表

如何使用apache poi获取子形状的绝对位置

如何插入MS表格Excel中使用的Apache POI的Java

如何在Apache Poi中使用公式保存Excel?

如何使用Apache Poi在Java中将PDF转换为Excel

如何使用Apache POI API检查Excel单元是否被锁定?

如何使用 Apache POI 读取 MS excel 文件?