`
jxdiamond
  • 浏览: 99730 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java jaspereport导出pdf及excel报表源码

    博客分类:
  • java
 
阅读更多
加载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;
	}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics