现象:报表页面端展现正常,点击导出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中即可。

html单元格导出excel图形环境问题的更多相关文章

  1. POI导入具有合并了单元格的Excel

    POI进行单行单行地导入的数据在网上有许多的文章,但是要导入一个具有合并单元格的excel貌似比较难找.刚好最近完成了这样的一个需求,要求导入具有合并单元格的excel: /** * 读取excel数 ...

  2. java导出标题多行且合并单元格的EXCEL

    场景:项目中遇到有需要导出Excel的需求,并且是多行标题且有合并单元格的,参考网上的文章,加上自己的理解,封装成了可自由扩展的导出工具 先上效果,再贴代码: 调用工具类进行导出: public st ...

  3. 【记录】解析具有合并单元格的Excel

    最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时 ...

  4. 【开发者笔记】解析具有合并单元格的Excel

    最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时 ...

  5. 将多个单元格内容连接到一个单元格中(EXCEL)

    连接符号:& 如下图,我们要将表格中每名员工的姓名.入职时间以及年龄放入到同一个单元格中,形成以“-”连接的形式. 这时我们要用到Excel中的连接符“&”,也就是在按下Shift+数 ...

  6. python-利用xlrd模块中读取有合并单元格的excel数据

    前言 对于excel中有合并单元格的情况,合并的单元格只能取到第一个单元格的值,合并的单元格后面的单元格内容的值为空,针对这个情况,写了下面一段代码实现, 对单元格进行判断,如果是传入的索引是合并单元 ...

  7. Java Controller下兼容xls和xlsx且可识别合并单元格的excel导入功能

    1.工具类,读取单元格数据的时候,如果当前单元格是合并单元格,会自动读取合并单元格的值 package com.shjh.core.util; import java.io.IOException; ...

  8. (二)数据源处理3-python处理包含合并单元格的excel

    分析:

  9. 报表导出excel方式介绍

     报表导出excel提供了四种方式,在单元格属性"其他/导出excel方式"可以选择,如下图 一是导出缺省值:报表中的单元格包含两个值,一个真实值一个显示值,但是在excel中 ...

随机推荐

  1. Oracle PL/SQL学习之基础篇(2)--例外

    1.例外分类:系统例外.自定义例外 (1)系统例外,参见相关API文档 (2)自定义例外 定义自己的例外:就像自定义变量一样,类型为exception 抛出例外:使用raise抛出自定义例外 set ...

  2. (转)MySQL详解--锁

    原文:http://blog.csdn.net/xifeijian/article/details/20313977 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源( ...

  3. pycharm 使用jupyter notebook 报错:'_xsrf' argument missing from POST

    出问题的关键点就在: 我用cmd启动的jupyter notebook,然后用pycham新建了一个jupyter notebook 结果 一直报错'_xsrf' argument missing f ...

  4. [转]C# 理解lock

    原文:http://www.cnblogs.com/apsnet/archive/2012/07/08/2581475.html 一. 为什么要lock,lock了什么? 当我们使用线程的时候,效率最 ...

  5. 【数组】Majority Element II

    题目: Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The alg ...

  6. 笛卡尔积算法的sku

    1.笛卡尔积在形式上比较容易理解,但作为按钮操作DOM的时候,我的思路大体还可以,有些偏差.看到这种矩行方阵,首先联想到二维数组,事实上这种方法完全可以实现,但是在性能和编码速度上都有弊端. 2.以下 ...

  7. 发布Framework 4.0到iis时,出现HTTP 错误 403.14 - Forbidden

    新发布MVC到服务器的时候,经常碰到403.14错误,绝大部分的时候都是因为Framework 4.0需要重新注册下,在运行里输入:C:\Windows\Microsoft.NET\Framework ...

  8. elasticSearch6源码分析(1)启动过程

    1.找到bin目录,下面有elasticSearch的sh文件,查看执行过程 exec \ "$JAVA" \ $ES_JAVA_OPTS \ -Des.path.home=&qu ...

  9. RabbitMQ上手记录–part 2 - 安装RabbitMQ

    上一篇<<RabbitMQ 上手记录-part 1>>介绍了一些基础知识,整理了一些基础概念.接下来整理一些安装步骤和遇到的问题. 我在CentOS7和Ubuntu16.4上都 ...

  10. SQL Server操作结果集-并集 差集 交集 结果集排序

    操作结果集 为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物. 表:Person_1魏国人物 表:Person_2蜀国人物 A.Union形成并集 Union可以对两个或 ...