如上图 ,表中需要的字段要在Fields里面进行新增配置
进行关联,其中Fields里的List是代码里的数组名字
Fields里定义的字段都要在对象里面定义,并赋值,才可以被插入报表.
引入依赖
net.sf.jasperreports
jasperreports
6.13.0
com.lowagie
itext
net.sf.jasperreports
jasperreports-fonts
6.13.0
com.lowagie
itext
2.1.7
com.itextpdf
itextpdf
5.5.0
com.itextpdf
itext-pdfa
5.5.0
com.pansenlink
report-fonts
1.0.0
com.itextpdf
itext-asian
5.2.0
jasperReport导出实现:
eos.setDetailsList(new JRBeanCollectionDataSource(maps, false));
orderList.add(eos);
JasperPrint enquiryNoPrint = JasperFillManager.fillReport(enquiryRef, parameters, new JRBeanCollectionDataSource(orderList, false));
printList.add(enquiryNoPrint);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(SimpleExporterInput.getInstance(printList));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream));
exporter.exportReport();
具体实现方法
public void exportOrderPdf(Long id, BaseUserEntity user, ServletOutputStream outputStream) throws IOException, JRException {
//报表结果集查询
NewPurchaseOrderModel result = newPurchaseOrderService.purchaseOrderDetail(user, id);
List details = result.getPurOrderDetailsList();
PurOrder order = result.getOrders();
List printList = new ArrayList<>();
Map parameters = new HashMap<>(16);
try (InputStream enquiryRef = resourceLoader.getResource("classpath:report/enquiry_order.jasper").getInputStream()) {
List