ireport 5.6教程之饼图制作过程`.pdf
文本预览下载声明
ireport 5.6教程之饼图制作过程
Ireport所需环境:ireport4.0.2, mysql5.1
目标:饼图,百分比,PDF中文
一.DB如图:
数据源配置略.
创建SQL语句:
selectcount(id)asid,departmentfrom piechartgroupbydepartment;
二.创建饼图
一路下一步到keyandvalues的时候
填写如下:
然后完成.拖动改变下大小后
点击preview可以查看预览生成结果如下:
三.为饼图添加百分比显示
在饼图属性里面:
填写如下:
{0}{2}
说明:{0}为名称{1}为数量{2}为百分比
在次预览如图:
四.PDF预览中文问题
4.0.2中pdf预览中文依然存在问题,默认对静态文本将不会显示中文,依旧悲剧.
可以采用原来的办法,既加入itext-asian.jar到classpath中,然后修
改 pdffont name和pdfencoding的办法来显示中文,但这种做法ireport已
经抛弃,这里采用另一种做法.
下载truetype字体,我下载的是微软雅黑字体:
选择[工具]-[选项]-[ireport]下font卡牌栏,installfont,然后选择刚下载的字
体文件,下一步如图:
然后完成.这时候直接预览pdf的话还是悲剧,还要做最后一步修改.
在statictext的属性里面修改
Fontname为雅黑字体.然后预览:
设计好报表后,把*.jasper文件拷贝到工程中,可以开始编码了,但是上一篇写的只
是设计器中预览出现中文,而程序生成的PDF报表依旧不能显示中文,这篇将会
做个补充.
先填代码吧:
Java代码
1. .gkhb.ireport.demo;
2.
3. importjava.sql.Connection;
4. importjava.sql.DriverManager;
5. importjava.sql.SQLException;
6. importjava.util.HashMap;
7.
8. importnet.sf.jasperreports.engine.JRException;
9. importnet.sf.jasperreports.engine.JRExporter;
10.importnet.sf.jasperreports.engine.JRExporterParameter;
11.importnet.sf.jasperreports.engine.JasperFillManager;
12.importnet.sf.jasperreports.engine.JasperPrint;
13.importnet.sf.jasperreports.engine.export.JRPdfExporter;
14.
15./**
16. *导入报表为pdf文件
17. */
18.publicclass ExportDemo{
19. /**
20. *报表模板位置
21. */
22. privatefinalstaticStringjasperfile =E:/myeclipse/IreportDe
mo/WebRoot/WEB-INF/jasperfiles/pieChart.jasper;
23.
24. /**
25. * 目标文件位置
26. */
27. privatefinalstaticStringdesc =G:/download/font/pie_chart_
demo.pdf;
28.
29. /**
30. * registerdatabasedriverfor mysql
31. */
32. static{
33. try {
34. Class.forName(com.mysql.jdbc.Driver);
35. }catch(ClassNotFoundExceptionex){
36. ex.printStackTrace();
37. }
38. }
39.
40. @SuppressWarnings(unchecked)
41. publicstaticvoid main(String[]args){
42. HashMaphm=newHashMap();
43. try {
44. //
显示全部