注:当前在《建立第一个JavaBean数据源报表.doc》基础上进行操作
一.PDF中文不显示问题
中文问题一般出现在生成PDF的时候,出现症状为所有中文都不显示。
在iReport 3.0:
选择PDF预览,然后再次选择“执行报表(使用动态链接)”,就可以生成当前报表的PDF文件了。
默认情况下,在iReport的安装目录下可以找到生成的PDF文档,看一下,是不是所有的中文字符都丢失了呢。
咱们解决这个问题呢,很简单,在可能显示中文的地方,鼠标选中,右键选择属性,弹出窗口,点击“Font”进行字体设置:
注意:
Font Name : 选择宋体或其它
PDF Font Name 选择STSong-Light
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文档
public static void main(String[] args) throws Exception {
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();
}
}
四 .生成HTML格式报表图片显示不出来
a.假如报表不含有图表的话,可直接把 pr 文件放入到web项目images目录下
b.若含有复杂报表图片等,则需要在web项目的web.xml文件中添加一个图片servlet 路径映射:
<servlet>
<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>
分享到:
相关推荐
六、进阶使用 6.1 数据绑定和表达式 JasperReports支持数据绑定,允许你将报表字段与数据源中的字段关联。同时,你可以使用表达式语言(JasperReports Expression Language,JEXL)来实现动态计算和过滤数据。 6.2...
总的来说,iReport和JasperReports结合使用,提供了一个强大的报表开发平台,不仅能满足日常的报表需求,也能处理复杂的业务分析报表。通过这个教程,你可以掌握从基础到进阶的报表设计技能,提升你的Java应用中的...
在Java应用中,JasperReports通常与iReport结合使用,iReport是一个可视化的报表设计工具,开发者可以使用它来创建复杂的报表布局。 **一、JasperReports的核心概念** 1. **报表模板(JasperReport)**:报表的...
手册会介绍jasperReports的核心概念,如报表模板(jrxml文件)、报表填充过程、参数传递和子报表的使用。 中文手册中的主要内容可能包括: 1. ireport和jasperReports的安装与配置:讲解如何在不同操作系统上安装...
“iReport+jasperReports 联合开发JAVA报表.rar”这个文件可能包含的是关于如何联合使用iReport和JasperReports进行Java报表开发的实例和教程。JasperReports是一个强大的开源报表库,可以生成PDF、HTML、Excel等...
这本书详细介绍了JasperReports的各个方面,包括Ireport的设计原理、使用方法和最佳实践,对于初学者和进阶开发者来说都是极好的参考资料。 通过深入学习Ireport,你可以掌握如何设计复杂的报表布局,如何处理...
对于进阶用户,手册还会涵盖更高级的主题,如脚本语言支持、子报表的嵌套、动态Jasper等,帮助用户实现更复杂的报表功能。 通过阅读《IReport v1.0 用户手册》中的ireport-cn-1.htm和ireport-cn-1.files,用户可以...
进阶特性 - **样式和样式表**: 可以使用CSS样式表自定义报表外观。 - **条件样式**: 根据数据值动态改变单元格的样式。 - **脚本let**: 定义报表级别的变量和方法,增强报表逻辑。 - **分组和汇总**: 支持行级、页...
进阶使用** - **子报表**:在主报表中嵌入其他报表,实现复杂结构。 - **参数和变量**:定义报表参数,传递外部值,创建动态报表。 - **事件处理**:使用脚本和事件处理程序实现更复杂的逻辑。 - **样式表和模板**...
9. ** JasperReports库集成**:如果你的项目使用了JasperReports库,手册还会指导你如何在Java代码中编译和运行iReport设计的报表。 10. **高级特性**:包括自定义组件、脚本、事件处理等,这些进阶主题可以帮助你...
五、进阶技巧与扩展 除了基础功能,iReport还支持自定义函数、脚本语言和样式表。开发者可以通过编写插件扩展其功能,例如,`net.sf.jasperreports.engine.fill.JRFiller`接口允许自定义填充行为,以实现更复杂的...
这些知识点涵盖了iReport和JasperReport的基础到进阶使用,对于开发复杂的业务报表或者集成报表系统有着重要的指导作用。通过学习和实践这些教程和示例,开发者可以提升报表设计和开发能力,满足各种业务需求。
进阶使用:** - **子报表和嵌套报表**:可以在主报表中嵌入其他报表,实现复杂的数据结构。 - **图表和图像**:iReport 支持创建各种图表,如柱状图、饼图,还可以导入和显示图片。 - **事件和脚本**:利用Java脚本...
《iReport-Ultimate-Guide-3.5.pdf》这本书提供了关于iReport 3.5的全面教程,包括基础操作、高级特性和实战案例,是学习和进阶iReport的重要参考资料。书中涵盖了报表设计的各个环节,从新手入门到精通,都可从中...
- **深入研究**:下载并仔细研读《The JasperReports Ultimate Guide 1.0.pdf》,这本书涵盖了JasperReport的基础知识、工作原理以及常见问题解答,非常适合初学者和进阶用户。 - **社区资源**:参与Java研究论坛的...
IReport技术手册.doc可能是对ireport各项功能的详细介绍,包括但不限于报表设计界面的使用、字段的添加、数据源的配置、样式和格式的设定、以及如何通过JasperReports API将报表嵌入到Java应用中。手册可能还会涵盖...
五、进阶使用 除了基本的报表设计,iReport还支持子报表、主从报表、自定义函数等高级特性。通过插件系统,用户还可以扩展其功能,如添加新的图表类型或数据处理模块。 总结,iReport 5.6.0提供了一套强大且易用的...
11. **高级特性**:可能包含脚本支持、自定义函数、JasperReports集成等进阶话题,帮助用户充分利用iReport的全部功能。 通过学习《iReport用户手册》,用户不仅可以掌握基本的报表设计技巧,还能了解和运用iReport...