iReport5.6.0使用说明
转载:https://www.cnblogs.com/sungong1987/p/8065024.html
1,需要安装jdk1.7,因为目前还不支持最新的jdk1.8
2,安装好软件之后,打开安装目录下的etc/ireport.conf文件,配置关联自己的jdk1.7的路径,如下:
#jdkhome="/path/to/jdk"
jdkhome="C:/Java/jdk1.7.0_17"
配置好jdk1.7的目录后,就可以使用iReport了。
如果只是为了支持ireport的jdk,不需要对它设置jdk1.7环境变量,也不需要安装jre1.7。
3,项目需要的jar包目录,比如:
C:\iReportV560\ireport\modules\ext
一般来讲,需要引入如下jar包:
com-jaspersoft-ireport.jar
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
groovy-all-2.0.1.jar
iText-2.1.7.js2.jar
iTextAsian.jar
jasperreports-5.6.0.jar
jdt-compiler-3.1.1.jar
poi-3.7-20101029.jar
4,报表编辑的时候,文件格式是.jrxml的,需要把这个格式编辑成.jasper给Java程序用。
可以写个类来转换,也可以直接点击报表编辑器工具栏的锤子形状的按钮,会直接帮你编辑为一个.jasper文件,直接点锤子生成更方便,推荐。
5,注意!!!
JavaBean实体类的private字段时,首字母要小写!!!(其实就是要遵守驼峰命名规则)
报表编辑器里新建的field字段是有类型的!默认是String,请根据字段源进行相关设置!
6,引用Demo
InputStream is = new FileInputStream("./iReportTemplate/jasper/reportDingHuo.jasper");
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(is);
Map<String, Object> parameters = new HashMap<String, Object>();
//parameters.put("SUBREPORT_DIR", "./iReportTemplate/jasper/");//这句好像有没有都可以呢,有教材说是做主子表会用到!
parameters.put("danWei", "山东淄博");//danwei是报表的parameter字段,“山东淄博”是显示的值
List<JavaBeanModel> list = new ArrayList<JavaBeanModel>();
for ( int i=0; i < 9; i++)
{
JavaBeanModel bean = new DingHuoModel();
bean.setId(i);
bean.setName("张" + i);
bean.setEmail("zhang" + i + "@gmail.com");
list.add(bean);
}
//看关键字Bean,其实支持多种数据源
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(list));
JasperViewer.viewReport(print, false);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义