ireport 5.6教程之饼图制作过程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ireport 5.6教程之饼图制作过程Ireport所需环境:ireport4.0.2,mysql5.1

目标:饼图,百分比,PDF中文

一.DB如图:

数据源配置略.

创建SQL语句:

select count(id)as id,department from piechart group by department;

二.创建饼图

一路下一步到key and values的时候

填写如下:

然后完成.拖动改变下大小后

点击preview可以查看预览生成结果如下:

三.为饼图添加百分比显示

在饼图属性里面:

填写如下:

{0}{2}

说明:{0}为名称{1}为数量{2}为百分比

在次预览如图:

四.PDF预览中文问题

4.0.2中pdf预览中文依然存在问题,默认对静态文本将不会显示中文,依旧悲剧.可以采用原来的办法,既加入itext-asian.jar到classpath中,然后修

改pdf font name和pdf encoding的办法来显示中文,但这种做法ireport已经抛弃,这里采用另一种做法.

下载truetype字体,我下载的是微软雅黑字体:

选择[工具]->[选项]->[ireport]下font卡牌栏,install font,然后选择刚下载的字体文件,下一步如图:

然后完成.这时候直接预览pdf的话还是悲剧,还要做最后一步修改.在static text的属性里面修改

Font name为雅黑字体.然后预览:

设计好报表后,把*.jasper文件拷贝到工程中,可以开始编码了,但是上一篇写的只是设计器中预览出现中文,而程序生成的PDF报表依旧不能显示中文,这篇将会做个补充.

先填代码吧:

Java代码

1.package .gkhb.ireport.demo;

2.

3.import java.sql.Connection;

4.import java.sql.DriverManager;

5.import java.sql.SQLException;

6.import java.util.HashMap;

7.

8.import net.sf.jasperreports.engine.JRException;

9.import net.sf.jasperreports.engine.JRExporter;

10.import net.sf.jasperreports.engine.JRExporterParameter;

11.import net.sf.jasperreports.engine.JasperFillManager;

12.import net.sf.jasperreports.engine.JasperPrint;

13.import net.sf.jasperreports.engine.export.JRPdfExporter;

14.

15./**

16.*导入报表为pdf文件

17.*/

18.public class ExportDemo{

19./**

20.*报表模板位置

21.*/

22.private final static String jasperfile="E:/myeclipse/IreportDe

mo/WebRoot/WEB-INF/jasperfiles/pieChart.jasper";

23.

24./**

25.*目标文件位置

26.*/

27.private final static String desc="G:/download/font/pie_chart_

demo.pdf";

28.

29./**

30.*register database driver for mysql

31.*/

32.static{

33.try{

34.Class.forName("com.mysql.jdbc.Driver");

35.}catch(ClassNotFoundException ex){

36.ex.printStackTrace();

37.}

38.}

39.

40.@SuppressWarnings("unchecked")

41.public static void main(String[]args){

42.HashMap hm=new HashMap();

43.try{

44.//Fill the report using an empty data source

45.JasperPrint print=JasperFillManager.fillReport(jasperfil

e,hm,connectionProvider());

46.

47.//Create a PDF exporter

48.JRExporter exporter=new JRPdfExporter();

49.//JRExporter exporter=new JRHtmlExporter();

50.

51.//Configure the exporter(set output file name and print o

bject)

52.exporter.setParameter(JRExporterParameter.OUTPUT_FILE_

NAME,desc);

53.exporter.setParameter(JRExporterParameter.JASPER_PRIN

T,print);

54.

55.//Export the PDF file

56.exporter.exportReport();

57.}catch(JRException e){

58. e.printStackTrace();

59.System.exit(1);

60.}catch(Exception e){

61. e.printStackTrace();

62.System.exit(1);

63.}

64.}

65.

66./**

67.*database connection provider

68.*@return

69.*/

相关文档
最新文档