2011-12-13 137 views
2

我試圖在每個頁面的底部放置頁碼/間隔並在頂部放置列標題,因此從Excel打印時,所有頁面都進行了編號並且前往。這不應該是一個大問題,對吧?但不幸的是,無論我嘗試什麼方法,我都無法在頁面底部獲得頁碼和分頁符 - 它們在其他任何地方,但在底部。我把「頁面X的Y」放在頁面頁腳部分,忽略分頁沒有被選中,當我生成報表時,每4行數據後都有Page X或Y。我將頁面高度擴展到Letter Landscape格式標準高度的3-4倍,並且在18-20行數據後更改了頁腳打印 - 這不是一種可靠的調整方法。 此外,我試圖把打印時的分頁符設置爲每20行打印一次,但這仍然不準確,因爲在第一頁上,由於報告標題,我擁有較少的數據行 - 如果將其調整爲在第一頁是正確的 - 它會在下一頁的中間位置打印。 我在設計中錯過了一些明顯的東西,如何將頁腳放在頁腳中?任何幫助將不勝感激。JasperReports如何在Excel中進行分頁

回答

0

幾年前,我嘗試了同樣的方式,無法解決它。如果兩者之間沒有發生劇烈變化(如果提供的話,我立即刪除這個答案),那麼你就會迷失方向。

對不起。

+0

有沒有人試圖與碧玉的最新版本? – sstoynov 2011-12-19 16:29:13

+0

@sstoynov請說明你的意思是'最新'(因爲在6個月內不會再是相同的)。不,我沒有。 – 2011-12-20 12:47:17

2

我在net.sf.jasperreports.export.xls.fit.height參數的幫助下解決了這個問題。

我設置了報告的身高和net.sf.jasperreports.export.xls.fit.height報告的具有相同值屬性。

樣本:

<jasperReport ... pageWidth="595" pageHeight="800" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    ... 
    <parameter name="net.sf.jasperreports.export.xls.fit.height" class="java.lang.String" isForPrompting="false"> 
     <defaultValueExpression><![CDATA[800]]></defaultValueExpression> 
    </parameter> 
    ... 
    <detail> 
     <band height="20" splitType="Stretch"> 
      <textField> 
       <reportElement x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{field1}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="100" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{field2}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
    <pageFooter> 
     <band height="20" splitType="Stretch"> 
      <textField> 
       <reportElement x="433" y="0" width="80" height="20"/> 
       <textElement textAlignment="Right"/> 
       <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression> 
      </textField> 
      <textField evaluationTime="Report"> 
       <reportElement x="513" y="0" width="40" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> 
      </textField> 
     </band> 
    </pageFooter> 
</jasperReport> 

結果(在MS Excel預覽):

Result in MS Excel