
強尼 男 56
阿美 女 23
李麗 女 58
傑森 男 32
劉三 男 21
File → New → Empty Report,命名 NameList.jrxml
Static Text 到 Title 區域PMingLiu (需放入 iReport fonts 目錄) 或 宋體 + PDF Font STSong-Light人員名單表

表格主體放在子報表中,便於復用與數據源綁定:
Insert → Subreport 拖入 Detail 區域No Connection or Data Source,其餘默認NameList_subreport0.jrxml


NameList_subreport0.jrxmlView → Bands 區域管理器:啟用 Column Header、Column Footer,高度設 20Column Header 放 3 個 Static Text:姓名、性別、年齡Detail 放 3 個 Text Field:$F{Name}、$F{Gender}、$F{Age}Column Footer 放 1 個 Text Field:$V{REPORT_COUNT} (行號)Box → Pen 1px 實線


Data → Connections / Data Sources → New → XML Data SourceNameList.xml

Data → Report Query,XPath 填:/NameList/Person

編輯子報表元素屬性 Connection/Data Source Expression:
((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE})
.dataSource("/NameList/Person")


NameList_subreport0.jrxmlData → Report Query,XPath 填:/NameList/Person (相對路徑也可)Add node as field:Name、Gender、Age

Expression 設置 $F{Name}、$F{Gender}、$F{Age}$V{REPORT_COUNT}
Build → Compile 編譯兩個 .jrxml 為 .jasperBuild → Execute with active connection 帶數據源運行iReport 製作表格報表核心流程:XML 數據源 → 子報表承載表格 → XPath 查詢綁定 → 字段映射 → 編譯預覽。關鍵技術點:JRXmlDataSource 數據源傳遞表達式、$V{REPORT_COUNT} 內置行號變量、字體配置 (PDF 中文支援)。掌握此流程,即可快速產出專業級表格報表。