Java 程式。
String jsFile = "D:/_Download/report5.jasper"; String outFile = "D:/_Download/report5.pdf"; try { Map<String, Object> parameters = new HashMap<String, Object>(); // Map 表示一筆資料,再用 List 裝起來,表示所有資料 Collection<Map<String, ?>> list = new ArrayList<Map<String, ?>>(); // 塞入測試資料 for (int i = 0; i < 10; i++) { Map<String, Object> data = new HashMap<String, Object>(); data.put("id", new BigDecimal(i + 1)); data.put("title", "中文 字串 String " + i); data.put("date", new Date(112, 9, i + 1)); list.add(data); } // 使用 JRMapCollectionDataSource 打包資料成 JRDataSource 介面 JRMapCollectionDataSource dataSource = new JRMapCollectionDataSource(list); // 產出報表 JasperPrint print = JasperFillManager.fillReport(jsFile, parameters, dataSource); JRExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFile); exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); exporter.exportReport(); } catch (JRException e) { e.printStackTrace(); }然後只要在 iReport 裡建立同名的 field,就只要這樣,其他什麼都不用設。
並確認型別與 Java 程式相同。
噹噹,報表就這麼產生了。
中文問題請看 用 Java 產出中文的 Jasperreports PDF。
---
---
---
沒有留言:
張貼留言