我正在使用iReport 5.6.0创建报告, 我想在打印预览时为excel添加标题,我尝试在jrxml中添加此行
<property name="net.sf.jasperreports.export.xls.sheet.header.left" value="My Left Text"/>
<property name="net.sf.jasperreports.export.xls.sheet.header.center" value="My Center Text"/>
<property name="net.sf.jasperreports.export.xls.sheet.header.right" value="My Right Text"/>
这很好用,但问题是我不知道如何添加字体样式或字体大小。
有没有办法可以添加字体样式,字体大小或字体颜色?
答案 0 :(得分:3)
Jasper报告没有可以指定用于标题的字体的属性。
但我们可以做一些疯狂的事情
Jasper报告使用Apache POI导出到Excel,在POI中设置页眉,使用这样的命令(参见HSSFHeader)
header.setCenter(HSSFHeader.font("Calibri", "bold") + HSSFHeader.fontSize((short) 16) + "My Center Text");
这实际上是生成一个设置为居中的字符串。
&"Calibri,bold"&16My Center Text
由于我们需要将其放在xml属性中,因此我们需要将"
与"
和&
与&
一起转义。
<property name="net.sf.jasperreports.export.xls.sheet.header.center"
value="&"Calibri,bold"&16My Center Text"/>
<强>瞧强>
要了解从不同样式切换和使用其他POI属性时字符串应该如何,最简单的方法是创建一个小型java程序,例如
System.out.println(HSSFHeader.font("Times New Roman", "regular") +
HSSFHeader.fontSize((short) 12) + "My " + HSSFHeader.startBold() + "Bold" +
HSSFHeader.endBold() + " Text with date " + HSSFHeader.date());
&amp;“Times New Roman,regular”&amp; 12My&amp; BBold&amp; B Text with date&amp; D
只是转义并插入到值属性