首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JasperReport 實戰(六):分頁式報表製作——pageBreak 強制換頁

     編輯:Java 相關知識

場景:一份報表,多種風格分頁展示

如保險保單:第 1 頁產品介紹、第 2 頁收益表、第 3 頁建議書、第 4 頁合同條款。需在單一報表模板中實現不同區域不同佈局、強制分頁。

核心技術:Page Break 元素

在 iReport/Jaspersoft Studio 設計器中:

  1. 拖拽 Page Break 元素到 detail 區域 (或任意區域)
  2. 設置位置:top = 0 (佔用 1 像素高度)
  3. 原有內容向下偏移 1 像素:top = 1
  4. 設置 Print When Expression 控制條件分頁 (可選)

可視化配置示例

分頁效果預覽

Page Break 放置位置

Page Break 屬性設置

另一種分頁方式:Group 區域自動分頁

適用於數據分組換頁 (如每個部門單獨起頁):

  1. 創建 Group (按部門字段分組)
  2. 在 Group Header/Footer 區域屬性中設置:
    Print When Expression + Start New Page = true
  3. 或設置 Min Height to Start New Page:當剩餘空間不足指定高度時強制換頁

Group 區域分頁設置

JRXML 關鍵片段

<detail>
    <band height="51" splitType="Stretch">
        <!-- 原有內容 top=1 -->
        <textField>
            <reportElement x="0" y="1" width="555" height="20" uuid="..."/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
        </textField>

        <!-- Page Break 佔用 top=0, height=1 -->
        <break>
            <reportElement x="0" y="0" width="555" height="1" uuid="..."/>
        </break>
    </band>
</detail>

報表模板與數據源下載

Chapter6.zip —— 包含完整 .jrxml、數據源 XML、編譯後 .jasper 文件

總結

  • Page Break:精確控制任意位置強制換頁,適合固定版面報表
  • Group 分頁:數據驅動分頁,適合明細表、分組報表
  • 注意 1 像素高度佔用,避免內容重疊
  • 預覽時檢查 PDF/HTML 輸出分頁效果
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved