html单元格导出excel图形环境问题

现象:报表页面端展现正常,点击导出excel,选择完是否分页后页面没有反应,后台润乾日志中错误信息:

runqianReportLogger : [ERROR]  - Error 

at com.runqian.report4.view.excel.ExcelReport.createWorkbook(ExcelReport.java:474) 
at com.runqian.report4.view.excel.ExcelReportServlet.service(ExcelReportServlet.java:94) 
at com.runqian.report4.view.ReportServlet.service(Unknown Source:1070) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930) 

查看web服务器系统日志,看到错误信息:

java.lang.NullPointerException

       at java.awt.EventQueue.isDispatchThread(EventQueue.java:749)

       at javax.swing.SwingUtilities.isEventDispatchThread(SwingUtilities.java:1302)

       at javax.swing.text.StyleContext.reclaim(StyleContext.java:454)

       at javax.swing.text.StyleContext.addAttribute(StyleContext.java:311)

       at javax.swing.text.StyleContext$NamedStyle.addAttribute(StyleContext.java:1503)

       at javax.swing.text.StyleContext$NamedStyle.setName(StyleContext.java:1313)

       at javax.swing.text.StyleContext$NamedStyle.<init>(StyleContext.java:1261)

       at javax.swing.text.StyleContext.addStyle(StyleContext.java:120)

       at javax.swing.text.StyleContext.<init>(StyleContext.java:100)

       at javax.swing.text.StyleContext.getDefaultStyleContext(StyleContext.java:88)

       at javax.swing.text.AbstractDocument.<init>(AbstractDocument.java:126)

从错误中可以看到和图形环境有关系,但是导出excel时一般情况下不会用到图形环境,再导出系统中的其他报表,发现有的报表能够正常导出。

查看报表中的区别,发现导出异常的报表中用到了html单元格,而润乾转换该单元格时是将html单元格转换成图片形式导出到excel里,这样就涉及到了图形环境问题。

解决办法:

解决图形环境问题,但是现在系统比较稳定不想再做系统上的操作,并且图形环境问题解决起来有一定技术含量。

润乾基于该问题更新了产品,增加了个系统参数,可通过该参数设定导出excel时遇到html单元格,将html单元格转换成文本形式导出。

解决步骤:

1:更新report4

2“设置参数<%System.setProperty(“runqianReport.excel.html”,”com.runqian.report4.view.excel.HtmlExportImpl1″);%>

将该行代码写到展现报表的jsp中即可。

热门文章