rss· 投稿· 设为首页· 加入收藏· 繁體版

jasper在JSP中导出pdf和xls文件

1  正确安装配置java的jdk

 2 将ireport放到c:\ireport

3 将ant放到c:\ant(我用的是bea的ant路径是D:\bea\weblogic81\server\ant)

4 将jasperreports-1.2.0.jar 放置到当前classpath中(没有加,我使用的Ireport\lib下已经存在了)

 5 将itext-1.3.1.jar放置到c:\ireport\lib(没有加,我使用的Ireport\lib下已经存在了)

6 修改ireport\ireport.bat文件,加入以下内容

set JAVA_HOME=C:\j2sdk1.4.2

set ANT_HOME=D:\bea\weblogic81\server\

 set IREPORT_HOME=c:\ireport rem %ANT_HOME%\bin\ant javadocs %ANT_HOME%\bin\ant iReport

我修改的是:

set JAVA_HOME=C:\j2sdk1.4.2

set ANT_HOME=D:\bea\weblogic81\server\

set IREPORT_HOME=F:\backup\iReport-1.2.0 rem %ANT_HOME%\bin\ant javadocs %ANT_HOME%\bin\ant iReport

(不过对以上修改,感觉没有什么用处)

7 提供一个正常提供服务的数据库

现在高版本的ireport是不需要进行配置,可以直接使用的.

了解制作报表用的包

1 jasperreports-1.0.1.jar jasperreports是iReport的核心内容,jsperreport是一个报表制作程序,用它的规则制定一个xml文件,然后编译生成一个.jsper文件,这个.jsper文件是我们真正使用的,它很象.jsp文件,使用的是它编译后的servlet.

 2 itext-1.3.1.jar iText是一个开放源码的Java类库,是用来生成PDF文件的。如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包iTextAsian.jar

 3 jfreechart-1.0.0-rc1.jar jfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。

4 jcommon-1.0.0-rc1.jar JCommon是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上. 这个类库包含了以下功能: 文本工具类(text utilities), 用来显示关于应用程序信息的用户界面类, 布局定制管理器, 一个日期选择面板, 序列化工具类, XML解析器支持类.

 5 poi-2.0-final-20040126.jar Apache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。直接调用poi包的不是ireport,而是jasperreport。

 使用介绍

1 启动:点击ireport\ireport.bat启动

 2 修改语言环境:tools-option-general中language中更改-apply

3 创建报表 file-new document 输入名字-ok Portrait是纵向,Landscape是横向。

 4 连接数据源 datasource-connection/datasource-new-connections porperties- 输入名字-选择jdbc Driver,jdbc url-输入username和password,-test测试通过表明数据源连接正确-save保存 (注意:必须保证数据库驱动在lib目录下)

 5 基本域说明

title域用来放报表的总标题

 pageHeaher域顾名思义页头

 columnHeader域是用来放static text的,也就是不循环的部分。

detail域是用来放text field的,也就是循环部分。

pageFooter域是用来放本页的统计参数的。

 summary域是用来放整个表的统计参数的。

 可以直接调整每个域的长度,也可以通过Band properties来调整 (在我的项目中,只设置的title和detail,在title中显示报表的总标题和所有parameters字段,在detail中显示需要循环的列表字段)

 6 在报表中添加字段static text edit-insert element -static text 鼠标拖拉添加在页面中双击或者右键properties在static text Tab 中输入字段名字,如果显示有乱码,font-font name中选择"中文GB2312" border 中可以设置表格边线样式

7 在报表中添加字段text field edit-insert element -text field 鼠标拖拉添加在页面中双击或者右键properties在text field 中输入字段名字, 样式如同$F{text_field_name},

f表示为field变量,是数据库中抽取出来的,你想在报表中显示的数据库内容,

p为parameter参数,是应用需要提供给报表的入口,比如想在报表被解释的时候提供where语句的条件值, 就可以用$P(parameterName)比如: select * from bugs where proname=$P{projectName} order by proname,modulename

v为变量(显示字体颜色为绿色,表示格式正确) border 中可以设置表格边线样式

8 调整报表布局鼠标拖动各个字段,拼接想要的报表布局,如果鼠标点击字段, 显示为红色,说明该字段跨越了两个域显示为绿色,说明两个字段叠加显示为蓝色,说明该字段位置正确

9 报表添加SQL查询语句 资料来源->报表查询(datasource-report query) 在Report SQL query里填写SQl语句。如果语句正确,在下面的field里就会显示正常的表字段。 (可以从显示的所有字段中选取想用做field的字段,点击ok后,自动添加为field动态字段)

 10 为报表添加动态字段预览->报表字段(view-Fields) 新建一个字段,字段名字必须和报表中Fields中添加名字一直,同时必须是sql结果集中存在的. (把fields里的字段直接拖到报表上也行)

11 为SQL语句添加参数 预览->报表参数(view-parameters) 在parameters里新增一个参数 paratemeter name 是参数名,在SQL语句里写成"$P{参数名}" paratemeter class type里选择参数类型。 注意:如果是int型的数据,最好在报表字段里将该字段的Class type改成java.lang.String型的。 另外一种办法,不管该字段原来是什么数据类型,直接在paratemeter class type里选择java.lang.String类型, 后在Default value expression 填写"Integer.toString(整数)"。

 12 添加报表变量 预览->报表变量 $V{变量名}(没有用到过!)

13 处理字体 选中字段->右键->properties->font(双击也可以) Report font 选择全局的字体(仅限于该报表) Font name 选择在ireport里面显示的字体 Pdf font name 选择在pdf里面显示的字体 Rotation 选择内容是否旋转(很有用的选项) PDF Encoding 中文要用UniGB-UCS2-H,外部字体要选Identity-H

14 设定该报表的全局字体 预览->报表字型(view-font)

15 编译jrxml 建立->编译 (build-compile) 编译后生成一个后缀名为jasper的binary文件,可以直接给程序调用。

顶一下
(0)
踩一下
(0)