java Excel poi exception

一、

问题:java导出Excel时报错,错误信息 找不到相应的action方法,错误提示是 Velocity加载出错

方法:出现问题后,由于断点不能跟踪到生成Excel的方法内,就直接抛出异常

所以一个一个字段去尝试,虽然很费时间,但毕竟有些收获

总结出现的问题:

(1)调用方法,指定要生成的列标题内容,要与方法内为该列标题插入内容的值相同,否则,会

出现内容与标题对应不上的现象

String[] headNames = {"用户状态"};
JExcelBuyerAudit.exportOrderExcel(output, pageInfo.getResult(), "买家信息列表", headNames);


// 用户状态
if(headMap.containsKey("用户状态")){
rowY++;
ws.addCell(new Label(rowY,rowX, buyerAuditStatusMap.get(String.valueOf(buyerCompanyInfo.getAuditState())),wcfData));
}

即 Key值要对应,不能有出入

(2)数据转化

即从表中查到的数据要转换为String类型再插入,在转化时出现,空指针、或转化出错

(3)map未进行实例化

从表中读取的数据,某些tinyint类型的数据要根据具体值进行转换。

声明static xxxmap ,一定要实例化, = new HashMap();

public static Map<String,String> homeBusiness ;
static{
homeBusiness = new HashMap<String,String>();
homeBusiness.put("0", "No");
homeBusiness.put("1", "Yes");
}


问题总结:
未加try catch 所以异常直接向上抛出,没有定位到异常发生的位置

二、Cannot get a text value from a numeric cell

问题场景:

项目已提供规范的上传文档,可需求方未按照要求进行上传,而是对他们已有的excel文件进行了简单的修改,在文件上传后,提示系统异常

问题分析:

项目开发时由于模板已定,单元格格式是文本类型的,所以未对单元格的格式进行处理

问题解决:

 cell.setCellType(Cell.CELL_TYPE_STRING);


将单元格格式转换为文本类型

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2218987