我在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());
}
Run Code Online (Sandbox Code Playgroud)
当我到达第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)
Run Code Online (Sandbox Code Playgroud)
我发现这个错误报告表明它已在3.6版本中得到修复.我们使用3.5但是改为3.6似乎没有任何好处.有人有任何提示吗?
https://issues.apache.org/bugzilla/show_bug.cgi?id=46806
编辑:似乎错误问题是关于公式..
我正在尝试将一些数据导出到 Excel。我正在使用 OLEDB 12。连接字符串如下所示:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;'"
Run Code Online (Sandbox Code Playgroud)
我使用 INSERT 查询。但是每当目标列中的数据超过 255 个字符时,就会出现异常。
Exception Details: System.Data.OleDb.OleDbException: The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.
Run Code Online (Sandbox Code Playgroud)
SO上有类似的帖子:Excel无法插入超过255个字符?但它不在 c# 中,
我还提到了http://support.microsoft.com/kb/213841并没有得到任何解决方案。
请帮忙。