使用JasperReports修复了Excel中的标题

时间:2012-03-07 14:42:13

标签: jasper-reports export-to-excel

如何使用JapserReports创建带有固定标头的Excel报告? 我的意思是当我滚动Excel文件时,我需要修复标题。

2 个答案:

答案 0 :(得分:8)

目前可以通过在每个报告的jrxml文件中添加几个属性来实现。请查看冻结窗格的Advanced Excel Features。如果你想冻结第一个列标题之后的所有内容(基本上在左侧),它将如下所示:

            <staticText>
                <reportElement style="Sans_Bold" mode="Opaque" x="0" y="60" width="104" height="20" forecolor="#FFFFFF" backcolor="#666666">
                    <property name="net.sf.jasperreports.export.xls.auto.filter" value="Start"/>
                    <property name="net.sf.jasperreports.export.xls.column.width" value="110"/>
                    <property name="net.sf.jasperreports.export.xls.freeze.column.edge" value="Left"/>
                </reportElement>
                <box>
                    <leftPen lineWidth="0.5" lineColor="#000000"/>
                    <bottomPen lineWidth="0.5" lineColor="#000000"/>
                </box>
                <textElement verticalAlignment="Middle"/>
                <text><![CDATA[State]]></text>
            </staticText>

或者如果你想要冻结标题下面的所有内容,你可以在下面的字段中执行以下操作:

           <staticText>
                <reportElement style="Sans_Bold" mode="Opaque" x="316" y="60" width="199" height="20" forecolor="#FFFFFF" backcolor="#666666">
                    <property name="net.sf.jasperreports.export.xls.freeze.row.edge" value="Bottom"/>
                </reportElement>
                <box>
                    <leftPen lineWidth="0.5" lineColor="#000000"/>
                    <bottomPen lineWidth="0.5" lineColor="#000000"/>
                    <rightPen lineWidth="0.5" lineColor="#000000"/>
                </box>
                <textElement verticalAlignment="Middle"/>
                <text><![CDATA[Street]]></text>
            </staticText>

如果你下载了JasperReports zip,那么在xlsfeatures文件夹中有一个包含这个工作示例的demo文件夹。作为最后一个没有,这个演示在导出到xls时对我起作用,但是当我尝试使用xlsx时却没有(尽管可能有一种方法可以使它工作,但我找不到任何快速的东西)。

答案 1 :(得分:0)

如果您使用的是Jaspersoft Studio,可以通过右键单击元素并选择 XLS标记

来实现

Set Image XLS Element