如何在打印预览中设置excel header字体和样式?
How to set excel header font and style in print preview?
我正在使用 iReport 5.6.0 创建报告,
我想在打印预览时为 excel 添加 header,我尝试在 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"/>
这工作正常,但问题是我不知道如何添加字体样式或字体大小。
有没有办法可以添加字体样式、字体大小或字体颜色?
Jasper report has no attribute in which you can specify the font used for header.
但我们可以做一些疯狂的事情
Jasper 报告正在使用 Apache POI to export to excel, in POI to set the page header, commands like this is used (see 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());
&"Times New Roman,regular"&12My &BBold&B Text with date &D
只需转义并插入到值属性
我正在使用 iReport 5.6.0 创建报告, 我想在打印预览时为 excel 添加 header,我尝试在 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"/>
这工作正常,但问题是我不知道如何添加字体样式或字体大小。
有没有办法可以添加字体样式、字体大小或字体颜色?
Jasper report has no attribute in which you can specify the font used for header.
但我们可以做一些疯狂的事情
Jasper 报告正在使用 Apache POI to export to excel, in POI to set the page header, commands like this is used (see 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());
&"Times New Roman,regular"&12My &BBold&B Text with date &D
只需转义并插入到值属性