使用primefaces的JSF做一个文件上传功能所遇到的问题(5)

使用primefaces-2.2.RC2.jar配合POI-3.7.jar处理导出excel功能的时候,会有这样的错误:


java.lang.NoSuchMethodError:
org.apache.poi.hssf.usermodel.HSSFCell.setCellValue(Lorg/apache/poi/hssf/usermodel/HSSFRichTextString;)V
at org.primefaces.component.export.ExcelExporter.addColumnValue(ExcelExporter.java:88) ~[primefaces-2.2.RC2.jar:na]
at org.primefaces.component.export.ExcelExporter.addColumnHeaders(ExcelExporter.java:80) ~[primefaces-2.2.RC2.jar:na]
at org.primefaces.component.export.ExcelExporter.export(ExcelExporter.java:46) ~[primefaces-2.2.RC2.jar:na]
at org.primefaces.component.export.DataExporter.processAction(DataExporter.java:93) ~[primefaces-2.2.RC2.jar:na]


这样的错误有两个解决的办法:
第一:更新primefaces的jar到3.1的版本,这个我测试过,没有问题。但是你需要修改很多内容,界面啊,配置啊,很繁琐,不适合一个已经成型的项目。
第二:修改源代码,编译以后修改jar。如果是上面的错误的话,只需要ExcelExporter.java这个类,我是把原来的代码

cell.setCellValue(new HSSFRichTextString(value));

替换成了

System.out.println("Value is :"+value);
HSSFRichTextString hssfRichTextString = new HSSFRichTextString(value);
cell.setCellValue(hssfRichTextString);

然后 测试就没有问题了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值