1. Thiết
kế phần tỉnh của báo cáo
Chúng
ta có thể dùng Ireport để design những phần thông tin tỉnh như header hay footer, sau khi design xong ta lưu
lại file với tên là file*.jrxml.
2.
Generate
phần dữ liệu động lên mẫu tỉnh đã design
Tạo
DynamicReport
DynamicReportBuilder drb = new DynamicReportBuilder();
Tạo
các column động
ColumnBuilder columnName = ColumnBuilder.getNew();
columnName.setTitle("Name");
columnName.setWidth(180);
columnName.setFixedWidth(true);
columnName.setColumnProperty("name",
String.class.getName());
columnName.setHeaderStyle(headerStyle);
ColumnBuilder columnYear = ColumnBuilder.getNew();
columnYear.setTitle("Year");
columnYear.setWidth(180);
columnYear.setFixedWidth(true);
columnYear.setColumnProperty("year",
Integer.class.getName());
columnYear.setHeaderStyle(headerStyle);
columnYear.setStyle(rightStyle);
DynamicReport dr = drb.addColumn(columnName.build())
.addColumn(columnYear.build()) .setPrintBackgroundOnOddRows(true).setUseFullPageWidth(true)
.build();
for (int i = 1; i < 3; i++) {
ColumnBuilder
columnBuilder= ColumnBuilder.getNew();
columnBuilder.setTitle("Column
Add");
columnBuilder.setColumnProperty("year"+i,Integer.class.getName());
columnBuilder.setWidth(100);
columnBuilder.setFixedWidth(true);
drb.addColumn(columnBuilder.build());
}
Đọc
file mẫu mình đã thiết kế các phần tỉnh
drb.setTemplateFile("E:\\Phien\\TemplateReports\\file*.jrxml");
Xuất ra file excel , word, pdf
JRDataSource ds = new JRBeanCollectionDataSource(listData);
JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr,new
ClassicLayoutManager(), ds);
JasperViewer.viewReport(jp); // finally display the report
report
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,"d://design_jasper_sample_report1.xls");
exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,
true);
exporter.exportReport();
Lưu ý: Phải add thư viện
DynamicJasper-5.0.0.jar với jasperreports-5.5.0 vào project
Không có nhận xét nào:
Đăng nhận xét