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中即可。
html单元格导出excel图形环境问题的更多相关文章
- POI导入具有合并了单元格的Excel
POI进行单行单行地导入的数据在网上有许多的文章,但是要导入一个具有合并单元格的excel貌似比较难找.刚好最近完成了这样的一个需求,要求导入具有合并单元格的excel: /** * 读取excel数 ...
- java导出标题多行且合并单元格的EXCEL
场景:项目中遇到有需要导出Excel的需求,并且是多行标题且有合并单元格的,参考网上的文章,加上自己的理解,封装成了可自由扩展的导出工具 先上效果,再贴代码: 调用工具类进行导出: public st ...
- 【记录】解析具有合并单元格的Excel
最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时 ...
- 【开发者笔记】解析具有合并单元格的Excel
最近公司让做各种数据表格的导入导出,就涉及到电子表格的解析,做了这么多天总结一下心得. 工具:NOPI 语言:C# 目的:因为涉及到导入到数据库,具有合并单元格的多行必然要拆分,而NPOI自动解析的时 ...
- 将多个单元格内容连接到一个单元格中(EXCEL)
连接符号:& 如下图,我们要将表格中每名员工的姓名.入职时间以及年龄放入到同一个单元格中,形成以“-”连接的形式. 这时我们要用到Excel中的连接符“&”,也就是在按下Shift+数 ...
- python-利用xlrd模块中读取有合并单元格的excel数据
前言 对于excel中有合并单元格的情况,合并的单元格只能取到第一个单元格的值,合并的单元格后面的单元格内容的值为空,针对这个情况,写了下面一段代码实现, 对单元格进行判断,如果是传入的索引是合并单元 ...
- Java Controller下兼容xls和xlsx且可识别合并单元格的excel导入功能
1.工具类,读取单元格数据的时候,如果当前单元格是合并单元格,会自动读取合并单元格的值 package com.shjh.core.util; import java.io.IOException; ...
- (二)数据源处理3-python处理包含合并单元格的excel
分析:
- 报表导出excel方式介绍
报表导出excel提供了四种方式,在单元格属性"其他/导出excel方式"可以选择,如下图 一是导出缺省值:报表中的单元格包含两个值,一个真实值一个显示值,但是在excel中 ...
随机推荐
- POJ 1118
#include<iostream> #include<set> #include<stdio.h> #include<math.h> #include ...
- 页面按钮埋点+跟踪location.search
<a href="javascript: void(0)" onclick="setUrl('https://baoxian.pingan.com/pa18shop ...
- 原生ajax封装,包含post、method方式
原生ajax封装,包含post.method方式 function ajax(method, url, data, success) { var xhr = null; try { xhr = new ...
- J02-Java IO流总结二 《概述》
1 流的概念 流是一个信息的通道,通过通道可以访问通道连接的文件对象. 2 流的分类 根据流中数据的流向,可分为输入流和输出流 输入流:从其他的地方流入到程序内存中的,比如InputStream. ...
- vue-devtools必备工具
1.github下载地址:https://github.com/vuejs/vue-devtools 2.下载安成之后打开cmd进入vue-devtools文件夹把依赖装好npm install 之后 ...
- python中使用eval() 和 ast.literal_eval()的区别 分类: Python 2015-05-11 15:21 1216人阅读 评论(0) 收藏
eval函数在python中做数据类型的转换还是很有用的.它的作用就是把数据还原成它本身或者是能够转化成的数据类型. 那么eval和ast.literal_val()的区别是什么呢? eval在做计算 ...
- vue制作小程序--server
服务端代码,开发者工具有提供 指南 https//cloud.tencent.com/document/product/619/11442 参考文档API https://developers.wei ...
- sqldeveloper的安装及其使用教程
1.安装 下载地址:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index-098778.htm ...
- gensim学习笔记
1.词向量建模的word2vec模型和用于长文本向量建模的doc2vec模型 在Gensim中实现word2vec模型非常简单.首先,我们需要将原始的训练语料转化成一个sentence的迭代器:每一次 ...
- C#正则表达式合并连续空格为单个空格
第一种方法: 使用 System.Text.RegularExpressions.Regex.Replace()方法 string result = String.Empty; string str ...