首页 文章

jasperreports - 导出word缺少子报表字段值但pdf很好

提问于
浏览
0

我正在导出一个报告(来自JasperPrint对象) . 它包含一个子报告 . 如果我将其导出为pdf,一切都很好 . 如果我将其导出为word(docx),则子报表中的所有字段值都为空 . docx中子报表中的每一行都是空白的,但仍会显示正确的行数(因此docx导出器仍会获取子报表数据) . 主报表中的字段值仍显示在docx中,而不是子报表中 . 静态文本(在子报表表 Headers 行中)也仍出现在docx子报表中 .

无论是以编程方式导出还是使用JRViewer控件中的“保存”菜单,都是一样的 .

有谁知道是什么原因引起的?我尝试将字体设置得非常小,因为我知道如果文本不适合框,Jasper有时会决定不渲染,但这并没有解决问题 .

编辑

我通过单步执行JRDocExporter中的代码解决了这个问题 . 我在子报表中的每一行之后显示一行(JRDesignLine) . 这条线跨越了所有列 . JRDocExporter遇到列中文本之前的行,看到它跨越所有列,因此决定跳过打印所有剩余的列 . 删除该行会带回丢失的文本 . 导出到pdf或在JRViewer控件中查看报表时不会发生此行为,仅用于docx导出...

1 回答

  • 0

    我通过单步执行JRDocExporter中的代码解决了这个问题 . 我在子报表中的每一行之后显示一行(JRDesignLine) . 这条线跨越了所有列 . JRDocExporter遇到列中文本之前的行,看到它跨越所有列,因此决定跳过打印所有剩余的列 . 删除该行会带回丢失的文本 . 导出到pdf或在JRViewer控件中查看报表时不会发生此行为,仅用于docx导出...

相关问题