报表模板
一、创建json数据源
1、Json文件
{
"full_list_no": "FW202501001",
"delivery_list": [
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
},
{
"id": "1234567891000000002",
"listNo": "202501001",
"projId": "1234567891000000001",
"fullListId": "1234567891000000000",
"num": 1,
"sapMaterialAmount": 1200,
"contNo": "HT202501010001",
"produceCode": "C01-1001-001",
"projName": "江西储能设备维修改造项目",
"saleOrdLineProjNo": 20,
"materialNo": "100012345",
"productionOrder": "10000007541",
"saleOrderNo": "100000011",
"projAmount": 10000.10
}
]
}
2、创建数据源
二、创建主报表
1、创建主报表
2、添加报表数据源
预览数据
3、添加表头
将表格抬头拖到Title中添加静态文本
删除多余的部分,只保留 Title 、Page Footer 和 Detail 1
三、创建子报表
1、创建子报表文件
拖动子报表到Detail中2、选择子报表数据源
3、绘制表头
绘制表头,拖动StaticText到PageHeader,组件放在左上角,依次排序组件加上边框
4、制作序号
拖动 Text Field 到Detail 1中,制作自动序号设置这个Text Field的表达式,以便它能够显示递增的序号
双击刚刚添加的Text Field,设置Edit Expression
$V{REPORT_COUNT}.toString()
预览下效果
5、绘制表格内容
拖动Fields中的字段到制定位置,设置边框,字体,位置等四、主子模板关联
1、主模板添加参数subPath
切换至主模板,并创建参数2、Subreport配置Expression,Data source Express
Expression
$P{subPath}+"delivery_detail.jasper"
Data source Express
((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("delivery_list")
五、编译预览
1、编译子主报表
先编译子报表再编译主报表
然后预览
输入子报表的路径,注意最后加“\”,然后回车
C:\Users\10870004\JaspersoftWorkspaceV2\MyReports\
2、导出pdf文件
【问题】
导出pdf中文字体不显示
【解决】
在studio中添加字体