我面临以下问题:我必须在使用iReport设计的Jasper报告中包含动态表(可能包含单元格合并)(现在更改报表生成工具将付出巨大努力)。
基本上我需要的是在Jasper报告中包含一个html表结构(使用rowspan和colspan进行自由单元合并),据我所知,没有本机方式来包含这种动态表在Jasper报告中(我已尝试过“HTML组件”,但显然它有许多拉伸问题,所以我放弃了它。)
示例(可能生成的复杂表格样式):link
PdfPTable(来自iText)完全符合我的需要(http://tutorials.jenkov.com/java-itext/table.html):具有rowspan和colspan支持的动态表解决方案。问题是我不能将PDF(用iText生成)包含在原始的Jasper报告中。
我现在能想到的最好的是:(1)将iText生成的表格(PDF)转换为图像,以及(2)在生成DataSource时将其作为图像插入到原始报告中。或者,我可以尝试找到一个html到图像转换器并重复步骤(2)。
但是,我宁愿找到更清洁的解决方案。任何人都可以帮我建议一个更好的选择?假设没有我想要完成的本地解决方案,我错了吗?也许是以某种方式使用DynamicJasper可以实现的?
谢谢。
PS:我已经详尽地搜索了类似的问题/答案,但我只能找到过时的答案,指的是旧的Jasper版本;这就是为什么我要创建一个新问题(抱歉,如果我做错了)。
答案 0 :(得分:0)
我猜你的问题可以通过dynamicReport api解决,它允许你只用java代码创建任何类型的动态头文件或内容,还有一个导出其jasper文件的功能。
因此,您可以使用dynamicReports创建动态内容,并在类路径中导出特定高度或宽度内容的jasper,并在iReport设计的Jasper文件中使用该文件。