在 BIRT 中导出 Excel 中的表格单元格文本换行

Posted

技术标签:

【中文标题】在 BIRT 中导出 Excel 中的表格单元格文本换行【英文标题】:Wrap text of Table cell in exported Excel in BIRT 【发布时间】:2015-07-01 04:43:39 【问题描述】:

我在 Eclipse 中使用 BIRT 4.4.1 来生成报告。

我想包装表格标题的文本,它在 webviewer 中工作正常,但是当我导出到 excel 时,表格单元格文本在一行中,并且文本也溢出了。我不想让单元格宽度等于内容,我想根据容器宽度换行。

我已将单元格宽度和标签空白属性设置为自动。是否正确,或者我该怎么做才能使其在导出的 excel 报告中工作?

在网页视图中

导出后,Excel视图

【问题讨论】:

【参考方案1】:

在 4.4.2 中导出为 XLS(不是 xlsx)。作为一种解决方法,您还可以在文本中添加一个换行符,当您导出到 xlsx 时它会正确显示。

与 xlsx 输出一起使用的第三个选项是选择单元格中的文本框,并在常规属性中将空白设置为预格式化。然后,将标题单元格大小设置为覆盖所需文本的高度,或者在整个报表的常规属性中,将布局设置为自动布局。

【讨论】:

我已经尝试了适合我的第三个选项,但它不起作用。 你能上传一个示例报告文件吗?我刚才试了一下,它在桌子上工作。 我已经通过将标签的空白设置为“预格式化”来解决。它在excel中工作,但不在webviewer中。所以我希望它在 webviewer 和 excel 中都是一样的。那么只有当我导出到excel时有什么方法可以设置这个属性吗? 是的,您可以根据需要设置默认属性,然后您可以选择一个单元格或行并根据渲染输出设置其属性。例如,要仅在 xlsx 输出期间更改表格单元格的属性,请选择该单元格并添加 onRender 脚本,例如: if (reportContext.getOutputFormat() == "xlsx") this.getStyle().whiteSpace = “前”; this.getStyle().backgroundColor = "黄色"; 谢谢,这是我认为的最佳解决方案!

以上是关于在 BIRT 中导出 Excel 中的表格单元格文本换行的主要内容,如果未能解决你的问题,请参考以下文章

java中导出excel设置单元格的样式为数字格式怎么设置

java中导出excel设置单元格的样式为数字格式怎么设置?

在 Excel 工作表单元格中导出数据

EXT中导出表格中的数据到Excel

PB中导出EXCEL怎么办?

在 HTML 文件中导出 PHP 表