您的位置:首页 > 编程语言 > ASP

jasperReport5.6.0生成PDF(一)

2015-06-29 15:48 295 查看
Jasperreport5.6.0生成PDF

最近项目中需要生成报表,先是看了下itext,觉得还可以,但是如果数据字段多的话,不太灵活。所以后来看了下ireport,觉得还可以,下面简单说一下它们:

jasperreport

JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。它是开源的,但文档收费。

ierport

iReport 是生成JasperReport所使用的报表格式文件.jasper,因为JasperReport本身并未提供很好的可视化报表设计工具,iReport的出现正好弥补了这个缺陷。

两者配合使用:irpeort负责生成编译后的.jasper格式文件,生成.jasper格式后再用
jasperreport在程序中生成需要的报表格式,这里主要说说jasperreport中如何生成pdf.

注意: jasperReport与ireport版本要一致。我这里的版本是最新的版本5.6.0。

如下例所示:

//ireport生成项目立项PDF格式

public
String getIreportPDFAction()

{

Connection conn =null;//连接

try
{

String projectapproid =request.getParameter("projectapproid");

//报表生成之后编译生成的.jasper文件位置

//1.绝对路径

File jasperFile=new
File("D:/jasper/report1.jasper");

//得到数据URL

String url ="jdbc:oracle:thin:@192.168.1.104:1521:orcl";

Class.forName("oracle.jdbc.driver.OracleDriver");

conn = DriverManager.getConnection(url,"zwjx","zwjx");

//设置参数

Map parmerters
= new HashMap();

parmerters.put("projectapproid",
projectapproid);

//生成pdf

byte[]
bytes = JasperRunManager.runReportToPdf(jasperFile.getPath(),parmerters,conn);

response.setContentType("application/pdf");

response.setContentLength(bytes.length);

//指定位置保存pdf位置

FileOutputStream outs =new
FileOutputStream("D:/jasper/report1.pdf");

outs.write(bytes,0,bytes.length);

outs.flush();

outs.close();

}catch
(Exceptione) {

e.printStackTrace();

System.out.println("ireport生成报表出错!");

}finally

{

try
{

conn.close();

}catch(SQLException
e) {

//TODO
Auto-generated catch block

e.printStackTrace();

}

}

returnnull;

}

运行后我们去D盘下的jasper文件夹中可以看到生成的 pdf.打开效果如下:



//上面的读取位置和保存位置都是根据自己所放位置设定的。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: