mysql生成饼状图_ireport 5.6教程之饼图制作过程

这篇博客主要介绍了如何解决使用JasperReports生成PDF报表时中文无法正常显示的问题。作者首先展示了代码,包括报表模板路径、目标文件位置以及数据库连接设置。然后通过Java代码演示了填充报表和导出PDF的过程,强调了在程序中生成的PDF报表无法显示中文的问题,并暗示将在文中提供解决方案。
摘要由CSDN通过智能技术生成

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

先填代码吧:

Java代码

1.    package cn.com.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/IreportDemo/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(jasperfile, 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 object)

52.             exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, desc);

53.             exporter.setParameter(JRExporterParameter.JASPER_PRINT, 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.      */

70.     protected static Connection connectionProvider() {

71.         Connection connection = null;

72.         String url = "jdbc:mysql://localhost:3306/test";

73.         String user = "root";

74.         String password = "";

75.         try {

76.             connection = DriverManager.getConnection(url, user, password);

77.         } catch (SQLException ex) {

78.             ex.printStackTrace();

79.         }

80.         return connection;

81.     }

82.

83.     /*

84.      * jpeg

85.     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters_header, dataSource);

86.     out = response.getOutputStream();

87.     JasperExportManager.exportReportToPdfStream(jasperPrint, out);

88.

89.     if (printType==0)  //if pdf stream

90.     {

91.         JasperExportManager.exportReportToPdfStream(jasperPrint, out);

92.     } else {         // if jpeg image stream

93.         int pageIndex = 0;

94.         BufferedImage pageImage = new BufferedImage(jasperPrint.getPageWidth() + 1, jasperPrint.getPageHeight() + 1, BufferedImage.TYPE_INT_RGB);

95.         JRGraphics2DExporter exporter = new JRGraphics2DExporter();

96.         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

97.         exporter.setParameter(JRGraphics2DExporterParameter.GRAPHICS_2D, pageImage.getGraphics());

98.         exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(pageIndex));

99.         exporter.exportReport();

100.         ImageIO.write(pageImage, "jpeg", out);

101.     }

102.     out.close();

103.      */

104. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值