(八)Java jaspereport程序导出pdf及excel报表
jaspereport导出报表代码很容易。
加载jasper文件,接收map参数导出报表至指定目录。
- /**
- * jasper文件,导出pdf文件
- *
- * @param fileName
- * @param params
- * @param exportPath
- */
- public String exportPDFReport(String Folder, String exportPath, String reportName,
- Map params) {
- ReportService rs = new ReportService();
- // 根据报表名字,得到报表jasper文件名字
- String jasperName = rs.getReportEnName(reportName);
- File file = new File(Folder + "\\" + jasperName + ".jasper");
- exportPath = exportPath + "\\" + System.currentTimeMillis() + ".pdf";
- JasperReport report = null;
- JasperPrint jasperPrint = null;
- try {
- report = (JasperReport) JRLoader.loadObject(file);
- } catch (JRException e) {
- e.printStackTrace();
- }
- //取数据库连接key
- String key = rs.getConnectionKeyWords(jasperName);
- // 获得jdbc连接
- Connection conn = new DBUtil().getConnection(key);
- try {
- jasperPrint = JasperFillManager.fillReport(report, params, conn);
- } catch (JRException e) {
- e.printStackTrace();
- } finally {
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- JRPdfExporter pdfExporter = new JRPdfExporter();
- pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
- pdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
- exportPath);// exportPath=路径+文件名
- try {
- pdfExporter.exportReport();
- System.out.println("export pdf success!");
- } catch (JRException e) {
- e.printStackTrace();
- }
- return exportPath;
- }
- /**
- * jasper文件,导出EXCEL文件
- * @param Folder
- * @param reportName
- * @param params
- * @return
- */
- public String exportEXCELReport(String Folder, String exportPath, String reportName,
- Map params) {
- ReportService rs = new ReportService();
- // 根据报表名字,得到报表jasper文件名字
- String jasperName = rs.getReportEnName(reportName);
- File file = new File(Folder + "\\" + jasperName + ".jasper");
- exportPath = exportPath + "\\" + System.currentTimeMillis() + ".xls";
- JasperReport report = null;
- JasperPrint jasperPrint = null;
- try {
- report = (JasperReport) JRLoader.loadObject(file);
- } catch (JRException e) {
- e.printStackTrace();
- }
- //取数据库连接key
- String key = rs.getConnectionKeyWords(jasperName);
- // 获得jdbc连接
- Connection conn = new DBUtil().getConnection(key);
- try {
- jasperPrint = JasperFillManager.fillReport(report, params, conn);
- } catch (JRException e) {
- e.printStackTrace();
- } finally {
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- JRXlsExporter excelExporter = new JRXlsExporter();
- excelExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
- excelExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, exportPath);
- try {
- excelExporter.exportReport();
- System.out.println("export excel success!");
- } catch (JRException e) {
- e.printStackTrace();
- }
- return exportPath;
- }
程序依赖的jar,可能是这几个具体记不清。


浙公网安备 33010602011771号