添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

JasperReport开源报表功能强大,是我们WEB系统中做报表开发的一个强有力的工具,上手也比较简单。
我碰到的问题是进行报表输出时,在html网页中显示正常, 但如果导出为Excel时,部分列不显示
我用的报表设计工具不是iReport,而是官方推荐采用的Jaspersoft Studio。

先看一下,设计视图:

出现的问题截图如下:

Excel预览也正常:

输出Excel就不正常了:

问题原因是什么呢,不知道的以为是字体、背景、单元格设置方面有问题,其实都不是。

原因很简单,表头的各个列、各个列数据都不能有重叠,有重叠问题就来了(html输出不受影响),预览正常,导出就不正常!

截图说明如下:

原因很简单,但是找到这个原因却费了很大的功夫,所以贡献出来和大家分享。

WEB项目开发中碰到的问题千奇百怪,大家如果想在开发过程中少走一点弯路,少踩一点坑,可以看看我的视频教程:Spring Boot开发小而完整web项目: https://edu.51cto.com/sd/091c7

JasperReport开源报表功能强大,是我们WEB系统中做报表开发的一个强有力的工具,上手也比较简单。 我碰到的问题是进行报表输出时,在html网页中显示正常,但如果导出为Excel时,部分列不显示。 我用的报表设计工具不是iReport,而是官方推荐采用的Jaspersoft Studio。先看一下,设计视图: 出现的问题截图如下:Excel预览也正常:输出Ex...
今天看到一份需求,要求是导出 excel ,但是有一点是:要求根据各个角色导出不同的字段,原本想做成两个报 表,后来想想没有必要,后来上网搜索发现,原来属性 里面还有这个属性Print when expressiont,看到后开心啦 后来就摸索了,其 设置为:$P{test}.equals("123") 但是 问题 出来了,总是报Cannot cast from boolean to
iReport http://www.j asp er report .net iReport 是一个能够创建复杂 报表 的开源项目,它100%使用Java语言编写,是目前全球最为流行的开源 报表 设计器之一。 由于它丰富的图形界面,你能够很快的创建出任何一种你想要的 报表 。 以下是 iReport 一些比较突出的功能: • 拖拽式,所见即所得的 报表 编辑器; • 多样的向导来简化复杂的 报表 设计任
今天使用 ireport 做一个 报表 ,做好之后居然不 显示 数据出来,把我郁闷到了。。。在网上搜了很久 发现出现最多的是由于字体格式没设置好或者是when no data设置成All Sections ,No Detail,结果发现都不是我没 显示 数据的原因 最后发现 由于JavaBean得数据字段和 ireport 的fields字段的首字母大小写没有对应上。。。。。。。。。。。
上篇写到用json数据源创建的子 报表 在主 报表 竟然不 显示 ,原因是需要在主 报表 传递子 报表 的数据源。 先配置下Sub report 的 Data Source Expression属性试一下: new net.sf.j asp er report s.engine.JREmptyDataSource() OK,果然 显示 出来了,数据是空的,因为我们就是给它配置的空数据源。 说明就是数据源的 问题 ,那我们再考虑怎么把json的数据源传递过来就可以啦。 一个 报表 只能绑定一个数据源,那我们就把子 报表 的json.
如果你还不知道j asp er report ireport ,那你可以参考我的上一篇文章,或者谷歌百度一下。好了,废话少说,Let’s start,Go!       我的环境是 iReport 3.0+JDK6.0。       先看看效果。 1)    准备数据源,这里使用XML文件(使用UTF8编码)作为数据源。 xml v er sion="1.0" ...
int moneyDigitCount = CssdUtils.getSystemSetConfigByNameInt("moneyDigitCount", 4); moneyDigitCount = 2; DecimalFormat df = null;//用于调整页面数字 显示 问题 背景: 在JavaEE开发 ,我们少不了做一些 报表 导出工作,但最苦恼的莫过于 报表 的设计,一个像素一个像素的调整给我们带来很多不便。今天一客户指出,我们系统 的其 一个模块导出 Excel ,一个字段占用了多个 ,用客户的话说:你们不要把单元格合并了嘛,介个样子我们后期处理很麻烦的撒。 问题 描述:在背景 所指出的 问题 ,其对象就是一普通的 报表 ,客户所描述的意
<dependency> <groupId>net.sf.j asp er report s</groupId> <artifactId>j asp er report s</artifactId> <v er sion>6.17.0</v er sion> </dependency> 2. 配置J asp er Report 在application.prop er ties文件 添加以下配置: # J asp er Report 配置 j asp er report .compile.on.first.use=true j asp er report .cache.directory=./j asp er report _cache 3. 编写Controll er 编写Controll er ,使用J asp er Report 生成 报表 并返回给前端。 @RestControll er public class Report Controll er { @GetMapping("/ report ") public void gen er at eR eport(HttpS er vletResponse response) throws Exception { // 获取J asp er Report 模板文件 InputStream j asp er Stream = this.getClass().getResourceAsStream("/ report s/ report .j asp er "); // 设置参数 Map<String, Object> params = new HashMap<>(); params.put("title", " 报表 标题"); // 获取数据源 List< Report Data> data = getData(); JRDataSource dataSource = new JRBeanCollectionDataSource(data); // 编译J asp er Report 模板文件 J asp er Report j asp er Report = J asp er CompileManag er .compil eR eport(j asp er Stream); // 填充J asp er Report 模板文件 J asp er Print j asp er Print = J asp er FillManag er .fill Report (j asp er Report , params, dataSource); // 导出 报表 response.setContentType("application/pdf"); response.setHead er ("Content-Disposition", "inline; filename= report .pdf"); final OutputStream outputStream = response.getOutputStream(); J asp er ExportManag er .export Report ToPdfStream(j asp er Print, outputStream); private List< Report Data> getData() { // 获取数据源 // ... 4. 编写J asp er Report 模板文件 在resources目录下创建 report s目录,并在该目录下创建 report .jrxml文件,编写J asp er Report 模板文件。 5. 运行程序 运行程序,访问http://localhost:8080/ report ,即可生成 报表 并在浏览器 显示