锁定老帖子 主题:JasperReports 的进阶使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-11
注:当前在《建立第一个JavaBean数据源报表.doc》基础上进行操作 一.PDF中文不显示问题 默认情况下,在iReport的安装目录下可以找到生成的PDF文档,看一下,是不是所有的中文字符都丢失了呢。 咱们解决这个问题呢,很简单,在可能显示中文的地方,鼠标选中,右键选择属性,弹出窗口,点击“Font”进行字体设置: 注意: PDF Embedded 勾选 PDF Encoding 要选择UniGB-UCS2-H(Chinese Simplified)
二.引入图表显示 在模板页面上点击右键,选择“栏的属性”,弹出,选择“summary”(用于总结报表的报表栏):
我们准备在 summary 栏内,显示图表,但其所具有的高度不能为0,20个高度太小了啊吧 ?那就200吧。填写完毕,一定要选择 "Apply" 按钮,然后关闭。 在工具栏内,找到图表工具按钮:
点击之后,在"Summary"区域选择一片区域,自动弹出一个图表选择窗口:
这里选择3D柱状图。 下面要设置柱状图的属性,选中,右键,“Chart Properties”。
选中“Chart Data”选项卡,点击“Details”选项卡,点击”Add“按钮,弹出
输入如上图示表达式,然后OK即可。执行动态报表,即可看到效果。 PS: 若图表图片来自于已有的系统,是否可以融入到当前报表中来,答案是肯定的。 在工具栏内,找到图片按钮,部署到相应位置,即可设置图片的地址,宽和高等参数:
在"Image Expression" 中,输入图片的访问地址,可附加参数,这样就和既有系统进行交互了。看看效果图吧:
三 .如何使用jasper文件进行生成PDF文档 try { // 生成测试数据 DailySales[] datas = { new DailySales(" 货号 1", " 物品1 ", 1, 1000), new DailySales(" 货号 2", " 物品 2", 2, 2000), new DailySales(" 货号 3", " 物品 3", 3, 3000), new DailySales(" 货号 4", " 物品 4", 4, 4000), new DailySales(" 货号 5", " 物品 5", 5, 5000), new DailySales(" 货号 6", " 物品 6", 6, 6000), new DailySales(" 货号 7", " 物品 7", 7, 7000), new DailySales(" 货号 8", " 物品 8", 8, 8000), new DailySales(" 货号 9", " 物品 9", 9, 9000), new DailySales(" 货号 10", " 物品 10", 10, 10000) }; List<DailySales> data = Arrays.asList(datas); //获取数据源 JRDataSource dataSource = new JRBeanCollectionDataSource(data); // 报表模板文件 String reportFilePath = "d:/ireport/First.jasper"; // 生成JasperPrint JasperReport report = (JasperReport) JRLoader .loadObject(reportFilePath); // 要传入的参数数组 Map params = new HashMap(); JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, dataSource); // 设定输出格式以及输出路径 OutputStream ouputStream = new FileOutputStream("d:/test.pdf"); // 使用JRPdfExproter导出器导出pdf,导出不同格式文件,需要使用不同的导出器 JRPdfExporter exporter = new JRPdfExporter(); // 设置JasperPrintList exporter .setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream); exporter.exportReport(); ouputStream.close(); } catch (Exception e) { e.printStackTrace(); } } a.假如报表不含有图表的话,可直接把 pr 文件放入到web项目images目录下 <servlet-name>ImageServlet</servlet-name> <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ImageServlet</servlet-name> <url-pattern>/servlets/image</url-pattern> </servlet-mapping> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-15
Find it,thank you so much. |
|
返回顶楼 | |
浏览 3367 次