📅  最后修改于: 2023-12-03 15:01:27.967000             🧑  作者: Mango
JasperReports是一个开源的报表生成工具,它提供了强大的功能和灵活的设计选项,用于创建丰富多样的报表。
以下是一个简单的例子,展示如何使用JasperReports生成一个包含数据库数据的报表:
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
public class ReportGenerator {
public static void main(String[] args) {
try {
// 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
// 加载报表模板
JasperReport jasperReport = JasperCompileManager.compileReport("report_template.jrxml");
// 设置参数
Map<String, Object> parameters = new HashMap<>();
parameters.put("param1", "value1");
parameters.put("param2", "value2");
// 查询数据库数据
String query = "SELECT * FROM my_table";
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(conn.createStatement().executeQuery(query));
// 生成报表
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);
// 导出报表为PDF文件
JasperExportManager.exportReportToPdfFile(jasperPrint, "report.pdf");
System.out.println("报表生成成功!");
} catch (JRException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}