iReport跟JasperReport生成报表

iReport和JasperReport生成报表

1.       iReport

http://ireport.sourceforge.net

2.    JasperReport

http://jasperreports.sourceforge.net

 

下面是iReport1.1.0+JasperReport1.1.1

IReport-1.1.0的安装.

1.       iReport的官方网站上下载iReport-1.1.0在本地解压缩.

2.       Ant文件夹复制到C盘的根目录下面.

3.       iReport的文件夹下找到iReport.bat,然后进行编辑.

4.       iReport.bat下面输入下面的内容.

@echo off

set JAVA_HOME=C:\j2sdk1.4.2_05

set ANT_HOME=C:\ant

set IREPORT_HOME=C:\Documenti\progetti\iReport\iReport2\

rem %ANT_HOME%\bin\ant javadocs

%ANT_HOME%\bin\ant iReport

完成之后可以双击iReport.bat文件,运行启动iReport

iReport-1.1.0的安装.(不需要Ant)

1.       编辑iReport.bat文件如下内容即可.

@echo off

set JAVA_HOME=C:\j2sdk1.4.2_05

set PATH=C:\j2sdk1.4.2_05\bin;

set ClASSPATH=C:\j2sdk1.4.2_05\lib\tools.jar

set CMD_LINE_ARGS=

:setArgs

if ""%1""=="""" goto doneSetArgs

set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1

shift

goto setArgs

:doneSetArgs

cd bin

startup.bat %CMD_LINE_ARGS%

使用iReport制作报表

双击iReport1.1.0\bin\startup.bat就可以开始使用iReport了。

IReport界面如下:


iReport跟JasperReport生成报表
 

 

 

点击new report 后,如下图:

 

 

 
iReport跟JasperReport生成报表
 

弹出报表属性对话框,在这个对话框中输入报表属性的名字.选择报表纸张,修改对齐方式,页边距等报表的属性单击ok完成报表属性的设置.如下:

 

 

 
iReport跟JasperReport生成报表
 

接下来,我们就可以设置报表内容。其中, 设置为静态文本 设置为参数,

**使用变量,参数,字段必须在变量,参数,字段的列表中进行设置.它们的名字必须和报表上的名字相同,数据类型相同.且字段的名字要和你所要填加到报表中的数据的VO的属性名字相同.

当点击 时,为了防止中文乱码问题,需要做如下设置,在Font中,Font Name设置成宋体,PDF Font Name设置成STSong-LightPDF Encoding要设置成UniGB-UCS2-H (Chinese Simplified),这样才不会出现中文问题。然后在static text中输入正文。

 

 

 
iReport跟JasperReport生成报表
 

当点击iReport跟JasperReport生成报表 时,中文问题也同样处理。并且在Text Field中,参数名字要与VO中的一致,当 iReport跟JasperReport生成报表
 
变成绿色iReport跟JasperReport生成报表 时,说明正确,存在变量name,否则说明书写错误或者没有添加该变量。

 

 

 
iReport跟JasperReport生成报表
 

Library中,添加参数,变量如下:(切记!同VO中变量名字完全一致)


iReport跟JasperReport生成报表
 

 

 

当报表的所有设置结束后,点击[建立][编译]即可保存,每次修改后,如此操作即可。


iReport跟JasperReport生成报表
 

 

 

比如建立了如下的报表,有如下的程序实现。


iReport跟JasperReport生成报表
 

 

1.       JasperReportiReport的结合:

在程序中用下面的语句来实现报表数据的加入。

        List list = new ArrayList();

        for(int i=0;i<10;i++){

            UserInfo userInfo = new UserInfo();

            userInfo.setUserNO("编号"+i);

            userInfo.setUserName("姓名"+i);

            userInfo.setUserAge(new Integer(i));

            userInfo.setUserSex("");

            list.add(userInfo);

        }

        Map map = new HashMap();

        map.put("company","胜利者");

        JRDataSource ds = new JRBeanCollectionDataSource(list);

        ServletContext servletContext = this.getServletContext();

        File reportFile = new File(servletContext.getRealPath("/WEB-INF/report/reportinfo.jasper")) ;

        try {

            OutputStream outputStream = response.getOutputStream();

            response.setContentType("application/pdf");

            JasperPrint jasperPrint = JasperFillManager.fillReport(reportFile.getPath(),map,ds);

            JasperExportManager.exportReportToPdfStream(jasperPrint,outputStream);

            outputStream.flush();

            outputStream.close();

        } catch (IOException e) {

            e.printStackTrace();  //To change body of catch statement use Options | File Templates.

        } catch (JRException e) {

            e.printStackTrace();  //To change body of catch statement use Options | File Templates.

        }