Excel 导入功能隐性Bug
本帖最后由 Mr_Tao 于 2014-1-14 11:29 编辑当导入Excel文件中存在为空的Cell时https://mail.qq.com/cgi-bin/viewfile?f=9D18D1667B6E31D16B7E82CD8D8193BEBA9821D5389CAE22E8FEA27328A9CB568D62A38E4BB71C856046CF50A3B6A8EE84096DDA8A7FC138586074CC6431751DBD6ADEBB336ECFBFEDF6A6382BCFF2FE9BD2B308D25AC6AD&mailid=ZL4714-E_lygJg9tbdjBSt5eQ6zO41&sid=LcdTGQGPc3GlZUsZ&net=3884238346;
在读取Excel文件时,由于
https://mail.qq.com/cgi-bin/viewfile?f=9D18D1667B6E31D16B7E82CD8D8193BEBA9821D5389CAE22E8FEA27328A9CB568D62A38E4BB71C856046CF50A3B6A8EE84096DDA8A7FC1382436CBB1BD671724E3C0C1030420AC62EDF6A6382BCFF2FE9BD2B308D25AC6AD&mailid=ZL4714-E_lygJg9tbdjBSt5eQ6zO41&sid=LcdTGQGPc3GlZUsZ&net=3884238346// 行的所有列
Iterator<Cell> cellbody = rown.cellIterator(); 获取当前行的所有非空Cell
但是在While循环遍历时
while (cellbody.hasNext()) {
Cell cell = cellbody.next(); 获取的是下一个非空Cell
// 这里得到此列的对应的标题
String titleString = (String) titlemap.get(k); 此处的k = k+1;
........
k=k+1;
}
单元格内容与对应字段不一致导致导入数据错误或者导入失败.
最直接的修改方法为:String titleString = (String) titlemap.get(cell.getColumnIndex());
这个不是类型转换出错的问题吗 和你讲的没多大关系吧!
错误信息:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.<init>(Integer.java:620)
at org.jeecgframework.excel.ExcelUtil.importExcelByIs(ExcelUtil.java:716)
我的解决思路是:
先判读cell的值是否为空 不为空才进行转换 否则给他一个默认值0
if(StringUtils.isNotEmpty(cell.getStringCellValue()))
valInt = new Integer(cell.getStringCellValue());
else
valInt =0; angangle 发表于 2014-1-18 11:26 static/image/common/back.gif
这个不是类型转换出错的问题吗 和你讲的没多大关系吧!
错误信息:
不是同一个问题
页:
[1]