在netBeans下实现报表功能

  最近一个项目中要求报表打印功能,而在Java中一直没有找到合适的报表设计工具。到网上找了好久, 8) 终于被我找到了——就是iReport,它是基于JasperReports的报表设计工具。
  我下载的是它的netbeans插件版,安装和使用起来都非常方便。那么我在这里谈一下的它的下载、安装到使用。

  1 下载:请点击这个链接下载:http://sourceforge.net/project/showfiles.php?group_id=64348&package_id=263429
  在下载这个插件之前,你还需要下载netbeans 6.0.1或 6.1 版可以到http://www.netbeans.org网站上去下载。
  2 安装:看下面的图解。
  下载完成后,先安装netbeans,启动netbeans,选择“工具-插件-已下载-添加插件”如下图:

 

选择你下好的“iReport-nb-0.9.1.nbm”插件,然后点击“安装”这样插件就可以安装了。

3 安装之后,我们先设计一个报表。

先使用“服务”创建一个数据库连接:

添加驱动(右键,新建驱动程序),如果你使用的是SQL SERVER数据库请到这里下载驱动:

在“数据库”上“右键”点击“新建连接...”选择你下载并解压后的驱动程序包“sqljdbc.jar”,然后再创建连接:

 

设置连接信息,这是连接SQL SERVER 2005 或 2000的设置:

如果添加成功,在“服务——数据库”下会出现下列的连接(可以点击右键选择“连接...”,使它连接到数据库):

 

4 报表数据库源添加,在工具栏上点击这个按钮:



 

 

会出现

这时点击“new”,选择“NetBeans Database JDBC connection”

选择你新建的连接,输入一个“Name”如图:

5 制作报表。

在netbeans中新建一个普通的Java项目(“文件——新建项目...”):

新建项目后,再新建一个报表文件(“文件——新建文件...”):

 

在后面的向导中选择文件存放的位置,再选择相应的数据库源,之后(编写查询或使用“Design Query”设置一个查询):

再选择报表中要使用的列:

选择分组字段:

  

“下一步”选择风格:

“下一步——完成”形成报表,点击“Preview”预览效果:

6 在应用程序中使用你的报表。

为你的应用程序添加“库”:

 

选择库:

 

编写代码测试:

请新建一个类或使用项目的“Main”类编写如下代码,让你的应用程序使用你刚刚设计的报表:

package testireport;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author GuoJun-ling
 */
public class NewClass {

    public static void main(String[] args) {
        JasperReport jasperReport;
        JasperPrint jasperPrint;
        try {
            InputStream inReport = NewClass.class.getResourceAsStream("report1.jrxml");
            
            jasperReport = JasperCompileManager.compileReport(inReport);
            // 建立连接
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String strUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=pubs";
            Connection con = DriverManager.getConnection(strUrl, "sa", "sa");
            Statement stmt = con.createStatement();


            // 在使用iReport设计了报表之后可以使用连接对象直接填充报表。
            jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), con);
            // 打印预览
            JasperViewer.viewReport(jasperPrint);
            // 关闭资源
            //rs.close();
            stmt.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值