`
microsoft_hang
  • 浏览: 8932 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

ireport + jasperReport 制作报表

阅读更多

ireport  +   jasperReport  制作报表

先介绍一下ireport
它是一款与jasperReport结合开发报表的软件,它可以用来设计要产生报表的模型,
首先使用ireport来设计报表的模型,生成的文件后缀名是.jrxml编译后.jasper
//关于ireport的介绍和使用 网上介绍很多  我就不多说了

将.jasper文件导入我们的工程,然后导入相关的jasperReport的jar包
创建servlet文件 在doPost方法中写入如下代码
方式一:流方式导出PDF(只给了一个数据库链接)
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://IP:1433;DatabaseName=pubs;user=sqlusername;password=sqluserpwd");

ServletContext servletContext =this.getServletContext();
File reportFile = new File(servletContext.getRealPath(".jasper 编译后的报表模板文件"));
Map parameters = new HashMap();

//导出为PDF格式
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
//使用流来讲报表内容输入到指定位置的PDF中
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (Exception e) {

     System.out.println("Exception:" + e.getMessage());
}
               方式二:通过jasperReport内置对象来预览
                 ////////打印预览
PrintWriter out = response.getWriter();
  JRResultSetDataSource jrds = null;
  JasperPrint jasperPrint = null;
  Map reportParams = new HashMap();
  ResultSet rs = null;
  Connection conn = null;
  Statement stmt = null;
  String sql = "select * from  tableName";
  try
   {
    //动态获取
ServletContext servletContext = this.getServletContext();
String realPath = servletContext.getRealPath(".jasper 编译后的报表模板文件");                       
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(realPath);   
    //建立连接
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://IP:1433;DatabaseName=pubs;user=userName;password=password");
                     stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
   
    jrds = new JRResultSetDataSource(rs);
    jasperPrint = JasperFillManager.fillReport(jasperReport,reportParams,jrds);
    //调出JasperViewer进行打印预览
    JasperViewer.viewReport(jasperPrint);
    System.out.println("sucess...");
   } catch(Exception e)
    {
              System.out.println("error....");
      System.out.println(e.getMessage());
    }

out.close();
这里呢只给大家做了点简单的例子,好的东西需要你去发掘!
当初自己开始接触的时候那个苦呀,我只是想让想学它的同学们可以入门快点,不用浪费时间。
加入你有什么好的东西快快联系我,与我也分享一下吧! 呵呵!~




          
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics