2012-03-07 45 views
2

如何使用JapserReports創建帶有固定頭文件的Excel報告? 我的意思是說,當我滾動Excel文件時,我需要修正標題。使用JasperReports在Excel中修復頭文件

+0

你將永遠知道列的最大數量爲固定的頁眉或將你使用相同的模板來處理不同的報告和自己的固定頭文件? – travega 2012-03-07 21:09:59

+0

我總是知道列的最大數量,並且我有兩個需要此功能的獨立模板。 – Atticus 2012-03-08 08:02:56

回答

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> 

如果你下載的ZIP JasperReports的,在它裏面演示文件夾,包含此工作的例子,在xlsfeatures文件夾中。最後不是,這個演示在導出到xls時適用於我,但不是當我嘗試使用xlsx時(雖然可能有一種方法可以使其工作,但我無法快速找到任何東西)。

+0

這是有效的,這正是我需要的。謝啦! – Atticus 2012-03-12 10:27:04

0

如果您正在使用的JasperSoft工作室,這可以通過右鍵點擊一個元素上實現的,並選擇XLS標籤

Set Image XLS Element