我有一个带有文本字段的报告,这个文本可以很长并且被包装。当我从.xls
将报告导出到JasperReports
时,可以使用此单元格 - 我在一个单元格中获取包装文本。但是当我导出到.xlsx
时,JR会在包含文本的行之后添加一行excel,并将包装的单元格与下面的单元格合并。
.xls
导入的结果是:
,.xlsx
导入的结果是:
我尝试过不同的JR导出选项 - 没有结果(我把这个选项放到报告中,而不是配置文件中,这可能是重要的吗?)
JasperServer
版本不是最新版本?可能是3.x
答案 0 :(得分:1)
原因是包装的单元格正在增加其高度以适应文本,而同一行中的其他单元格不会做同样的事情。您应该尝试将Stretch Type
设置为Relative to Tallest Object
并查看是否有帮助。
至于为什么它发生在xlsx而不是xls上,我不知道。
答案 1 :(得分:0)
我发现扩展整个报告的宽度并将单元格移动到合并发生区域的右侧会为我清理它。合并发生的列在宽度上减少为0,当我再次运行报表时为空。如果你不介意额外的列在那里,因为它们几乎不可见,那么这个解决方案就可以确认了。
您也应该能够使用行来扩展报告的高度,并将该区域留空,但将其他所有内容移到单元格中。
答案 2 :(得分:0)
pt_BR: Aqui,eu resolvi com algumas <property />
deexportaçãodo.xlsx e comalteraçãodapropriedade do TextField Stretch With Overflow
desmarcada( false
)。
en_US:在这里,我解决了一些<property />
导出.xlsx并将 TextField 属性Stretch With Overflow
更改为false
(未选中)。
JRXML:
...
<property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
<property name="net.sf.jasperreports.export.xls.wrap.text" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
...