jasperreport java数据,报表,IReport+JasperReport进行Java报表开发。

本文介绍了JasperReport和iReport的基本概念,JasperReport是一个用于生成报表的工具,而iReport是其配套的可视化设计工具。通过一个简单的示例,演示了如何在Eclipse中创建一个Java项目,导入必要的库,编写jrxml文件,并生成PDF报表。此外,还提供了打印预览和实际打印的方法,展示了JasperReport导出不同格式报表和数据库数据展现的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一  相关基础知识

1.关于JasperReport和iReport

Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等.

而iReport就是一个可以帮助我们制作Jasperreport的XML文件的可视化开发工具。他的作用和dreamware的作用是类似的.

2、下载iReport和jasperReport

1) 下载 jasperreport

截至 2013/12/13, 最新版本是 5.1

jasperreport 下载地址:

建议是两个都下载。(需使用包和相应的依赖包)

2) 下载 ireport

二. 简单测试实例

这里以简单产生一个pdf文件为例。 (在 pdf 中输入一行文字)

1. 在Eclipse 新建一个java Project。 并导入以下lib包(从以上的下载中可以找到)

castor-1.2.jar

commons-beanutils-1.8.0.jar

commons-collections-2.1.1.jar

commons-digester-2.1.jar

commons-logging-1.1.1.jar

iText-2.1.7.js2.jar

jasperreports-5.1.0.jar

如果嫌麻烦, 可以将下载的jasperreports jar 包和开发源码包中所有的lib 到导入

2. 在项目根路径下新建 HelloJasperReport.jrxml,内容如下

c5d20eacb585

3. 在com.oscar999包下,新建 HelloJasperReport.java

c5d20eacb585

4. 运行之后, 会发现在项目根路径下会多出一个 HelloJasperReport.pdf 的文件。打开就可以看到效果。三. 总结

这里只是一个最简单的实例。

1. 除了可以导出pdf 格式之外,还可以导出很多其他的格式。

2. 可以取数据库数据进行展现

3. jrxml 该如何写? 使用iReport 这个工具就可以很容易的通过界面的方式画出这个文件。

//打印预览 文件名 参数map 表模型

public static void printPreview(String fileName, Map parameters, TableModel model) {

try {

//建立---->Jasper表模型

JRTableModelDataSource ds = new JRTableModelDataSource(model);

//填充报表数据

JasperPrint jasperPrint = fillReport(fileName, ds, parameters);

//JasperPrintManager.printReport(jasperPrint, false);

//打印

//打印预览,模态框

final JDialog dialog = new JDialog(new JFrame(), "打印预览", true);

//报表视图

ReportViewer jp = new ReportViewer(jasperPrint);

//设置关闭监听

jp.setCloseAction(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dialog.dispose();

}

});

//获取对话框 内容面板 边框布局居中

dialog.getContentPane().add(jp, BorderLayout.CENTER);

dialog.setSize(850, 600);

//--------+++++++++++++++++关闭时销毁 不知道有没有作用(youyong)+++++++++++++++++++++++++--------

//对话框设置默认关闭选项

dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

//adjust调整

adjustToCenter(dialog);

dialog.setVisible(true);

} catch (JRException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

catch (SQLException e) {

e.printStackTrace();

}

}

//默认打印机

public static boolean printStart(String fileName, Map parameters, TableModel model) {

try {

JRTableModelDataSource ds = new JRTableModelDataSource(model);

JasperPrint jasperPrint = fillReport(fileName, ds, parameters);

JasperPrintManager.printReport(jasperPrint, false);//打印

//      //预览

//      final JDialog dialog = new JDialog(new JFrame(),"列印預覽", true);

//      ReportViewer jp = new ReportViewer(jasperPrint);

//      jp.setCloseAction(new ActionListener(){

//          public void actionPerformed(ActionEvent e) {

//            dialog.dispose();

//          }

//      });

//

//      dialog.getContentPane().add(jp, BorderLayout.CENTER);

//      dialog.setSize(850, 600);

//      //--------+++++++++++++++++关闭时销毁 不知道有没有作用(youyong)+++++++++++++++++++++++++--------

//      dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

//      adjustToCenter(dialog); //SwingUtils.

//      dialog.setVisible(true);

return true;

} catch (JRException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return false;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值