java jasper 生成xlsx_(八)Java jaspereport程序导出pdf及excel报表

这段代码展示了如何使用Java的JasperReport库导出PDF和Excel文件。首先,通过ReportService获取jasper文件并填充数据,然后使用JRPdfExporter和JRXlsExporter分别导出为PDF和Excel格式。
摘要由CSDN通过智能技术生成

/**

* 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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值