📄 ireport.txt
字号:
ireport的工作原理:
title:第一页只显示一次
pageHeader:每个页面出现一次
columnHeader:每个表格出现一次
detail:可以出现n次
columnFooter:每个表格出现一次
pateFooter:每个页面出现一次
summarry:最后一页只显示一次
ireport给定的一报表编辑器,通过编辑器可以定义报表的格式,设置paramer(Map)、list的值
编译后生成一个以jasper结尾二进制文件,通过IReport提供的相关类
加载jasper、paramter(Map)、list 生成一个PDF或Excell文件
将jasper转化为pdf文件:
JRBeanCollectionDataSource:加载list信息
byte[] btes=JasperRuManager.runReportToPdf(jasper文件,parameter,JRBeanCollectionDataSource ds)
如果要通过servlet显示pdf文件
response.setContentType("application/pdf");
将japer转化为excel文件
JRBeanCollectionDataSource:封状集合信息
JasperPrint jasperPrint = JasperFillManager.fillReport(TestExcel.class.getResourceAsStream("reportpdf.jasper"),map,jrDs1);
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
//excel的输出对象
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,oStream);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); // 删除记录最下面的空行
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);// 删除多余的ColumnHeader
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);// 显示边框
//产生一个xls字节流
exporter.exportReport();
//写出到一个excell文件中
PrintStream ps=new PrintStream(new FileOutputStream("c:/a.xls"));
ps.write(oStream.toByteArray());
解决中文问题
在ireport编辑器对应的lib目录下加入如下类包:
itext-2.0.4.jar
iTextAsian.jar
iTextAsianCmaps.jar
一、ireport的原理及实现
有一个ireport编辑器,通过它可以定义报表的格式及内容,
其由tiltle pageHeader columnHeader detail columnFooter pageFooter
summary几部分组成,可以定义属性field、参数parameter,属性field
与list或set中一个元素的属性对应,parameter与Map中的一个键名对应。
编辑的内容会存成一个xml文件,进一步可以将xml编译成jasper文件。
在生成pdf或excell文件时,将jasper文件、list、map对象传给报表的
相关api,生成pdf文件或excell文件。
二、ireport中文问题的解决?
1、将itextasian.jar、iTextAsianCmaps.jar拷入ireport编辑器对应的lib目录下。
2、加入自定义的字体
宋体
TSong
h simple Chinese
3、如果有中文应用自定义的字体
三、ireport生成报表
1、JRBeanCollectionDataSource加载List或Set
2、JasperRunManager根据jasper文件、list、map对象生成pdf文件
3、response.setContentType("application/pdf");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -