- 浏览: 1248675 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (193)
- ant/maven (6)
- algorithm (5)
- tomcat/weblogic/jboss (6)
- javascript/jquery (13)
- java (33)
- flex/flash (0)
- JPA/Hibernate/myBatis (18)
- java concurrent (7)
- test (2)
- windows/linux (6)
- java collection (7)
- design pattern (2)
- life/health (3)
- database (12)
- IDE (4)
- spring/ejb (20)
- html/css/ckeditor (7)
- jsp/servlet (3)
- java io (13)
- java security (4)
- jni (0)
- svn/git (2)
- english (2)
- java jmx (1)
- xml (1)
- struts/springmvc (9)
- middleware (2)
- cache (1)
- cglib (3)
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
报表源文件(后缀名为.jrxml)在iReport的图形化界面中编辑和预览更方便。也可以在程序中通过代码来实现编译、填充和预览:
流程:
a. 首先检查编译后的文件是否存在,没有就编译并保存结果(后缀名为.jasper)到该目录(因为编译耗时较长,除非源文件改变,尽量减少编译次数)。
b. 加载编译文件,填充报表数据,生成可打印的报表。
c. 把该报表添加到窗体中预览。
流程:
a. 首先检查编译后的文件是否存在,没有就编译并保存结果(后缀名为.jasper)到该目录(因为编译耗时较长,除非源文件改变,尽量减少编译次数)。
b. 加载编译文件,填充报表数据,生成可打印的报表。
c. 把该报表添加到窗体中预览。
import net.sf.jasperreports.engine.*; public class Report { public void processReport(Object[] arrData) { // Encapsulate an array of report beans JRBeanArrayDataSource dataSource = new JRBeanArrayDataSource(arrData); // Additional data could be put into map Map map = new HashMap(); map.put("title", "gorgeous"); // Get the compiled report file String plainPath= "D:\xml"; File compiledFile = new File(plainPath, "report1.jasper"); // Check whether it exists, if not, compile the source and save the compiled result as a file checkAndCompileJRXML(compiledFile); // Likewise, check whether the sub reports invoked by the main report exists. checkAndCompileJRXML(plainPath, "report1_sub.jasper"); // Load the report from the specified file JasperReport jasperReport = (JasperReport)JRLoader.loadObject(compiledFile); // Fill the report with the data of beans as well as additional info (map) JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, beanDataSource); // Add the JasperPrint object to a swing panel to show showReport(jasperPrint); } public void showReport(JasperPrint jasperPrint) { JRViewer viewer = new JRViewer(jasperPrint); JFrame frame = new JFrame(); JPanel panel = new JPanel(); LayoutManager layout = new BorderLayout(); panel.setLayout(layout); JRViewer viewer = new JRViewer(jasperPrint); panel.add(viewer, BorderLayout.CENTER); frame.getContentPane().add(panel); frame.setVisible(true); } // Combine two report together if needed private JasperPrint combineReport(JasperPrint jasperPrint, JasperPrint jasperPrint2) { List pages = jasperPrint2.getPages(); for (int i = 0; i < pages.size(); i++) { JRPrintPage page = (JRPrintPage)pages.get(i); jasperPrint.addPage(page); } return jasperPrint; } private void checkAndCompileJRXML(String path, String name) throws JRException { File file = new File(path.concat(name)); checkAndCompileJRXML(file); } private void checkAndCompileJRXML(File file) throws JRException { if (!file.exists()) { // Compiled report file doesn't exist String compiledName = file.getPath(); int idx = compiledName.lastIndexOf('.'); // Get the source report file String sourceName = compiledName.substring(0, idx+1).concat("jrxml"); file = new File(sourceName); // Compile the source file and save the compiled report JasperCompileManager.compileReportToFile(file.getPath()); } } }
发表评论
-
Netty系列之二、Netty组件
2014-10-12 19:55 0Netty主要由以下几个组件构成: Bootstrap o ... -
Netty系列之二:传输方式
2014-09-17 22:35 0NIO (Non-blocking I/O) io.netty ... -
Java正则表达式实例
2014-08-25 22:50 1935题目: 有两个文件context.txt和words ... -
quartz系列之九:存储
2014-08-05 13:16 0这里以1.8.x为例: 任务 ... -
JVM 四种引用
2014-04-24 19:56 17651. 强引用 指通过普通 ... -
Proxy 源码分析
2014-04-21 10:47 0public class Proxy implements ... -
NIO UDP 编程
2014-04-17 23:18 4252和TCP的SocketChannel类似,UDP的Dat ... -
Matcher 源码分析
2014-04-15 14:45 0首先看下接口: public interface Matc ... -
BTrace 使用
2014-03-20 18:03 0简介 Btrace (Byte Trace)是Sun推出的一款 ... -
NIO Socket 编程
2014-04-11 22:48 1661Java NIO (Nonblocking IO)解决了常规I ... -
hessian系列之二:上传文件
2014-02-17 17:16 6222hessian较早版本通过 byte[] 进行文件传输;4.0 ... -
hessian系列之三:与Spring集成
2014-02-17 20:21 17889Spring封装了hessian客户端和服务端的通用代码,把实 ... -
hessian系列之一:Hello world
2014-01-06 20:51 2297Hessian是一个Web Service的轻量级二进制协议, ... -
XStream:自定义转换器
2013-12-30 22:47 0XStream是一款不错的oxm (Object-XML ma ... -
Http连接工具类
2013-12-28 16:13 0public class HttpConnUtil { ... -
Integer源码分析
2013-12-26 19:59 0private static String toU ... -
全排序
2013-12-23 21:02 0写一个函数, 如 foo(String str), 打印出 s ... -
logback系列之四:输出日志到不同文件
2013-12-03 16:25 69004logback系列之一:输出日志到控制台 logback系列之 ... -
Properties 源码分析
2013-11-26 10:32 01. Properties类扩展了Hashtable,用来保存 ... -
logback系列之三:输出日志到文件(滚动)
2013-11-16 23:37 64413logback系列之一:输出日志到控制台 logback系列之 ...
相关推荐
### Java报表JFreeChart开发知识点总结 #### 1. 简介 ##### 1.1 什么是JFreeChart JFreeChart是一款免费且开源的Java图表库,它提供了多种类型的图表绘制功能,如饼图、条形图、折线图等。JFreeChart适用于各种Java...
在Java开发中,生成报表是一项常见的任务,尤其在企业级应用中,报表系统用于数据可视化、数据分析和决策支持。为了实现这一功能,开发者通常需要引入特定的库或框架,其中jar(Java Archive)包是Java类库的主要...
由于其开源性质,JFreeChart 成为了许多开发者和企业的首选图表生成解决方案。 **1.1.2 特点** - **灵活性与可扩展性**:JFreeChart 支持多种图表类型,并且可以轻松定制图表样式。 - **广泛的图表支持**:包括...
JFreeChart将继续发展和完善,未来将增加更多的图表类型和功能。 #### 3. 下载与安装JFreeChart **3.1 引言** 本章节介绍了如何下载并安装JFreeChart。 **3.2 下载** 用户可以从官方网站或其他可信源下载...
JFreeChart由JFree公司维护,该公司提供了一系列基于Java的工具,包括报表生成工具JFreeReport、图表生成库JFreeChart、公共类库JCommon和报表设计工具JFreeDesigner。用户可从JFree的官方网站免费下载JFreeChart的...
### JFreeChart 1.0.9 开发者文档关键知识点概述 #### 一、引言:JFreeChart 是什么? JFreeChart是基于Java的一个开源图表库,它提供了丰富...无论是学术研究、企业报表还是Web应用,JFreeChart都能提供有力的支持。
它广泛应用于数据可视化和报表制作,尤其是在需要在Java应用程序、Web应用或者服务器端生成高质量图表的场景中。JFreeChart API提供了一系列丰富的接口和类,使得开发者可以轻松地定制和控制图表的每一个细节。 本...
总之,Java 生成图形报表涉及的关键技术有数据处理、图形库选择(如 JFreeChart)以及报表设计工具(如 JasperReports 和 iReport)。通过熟练掌握这些工具和技术,开发者可以轻松地在 Java 应用程序中实现美观且...
JasperReport 是基于 Java 的报表生成库,它允许开发人员创建、编译和运行报表。JasperReport 提供了丰富的模板语言(JasperReports 报表语言,JRXML),用于描述报表的布局和样式。开发者可以使用 Ireport 这样的...
4. 编译和运行报表,查看生成的带有JFreeChart图表的报表。 通过以上步骤,开发者可以在ireport报表中自由地利用JFreeChart的强大功能,创造出丰富多样的图表,以直观地展示和分析数据。 总结来说,JFreeChart是...
总之,`jfreechart-1.0.0-install` 不仅是一款强大的图表库,而且还提供了一系列详尽的文档和支持资源,使得报表开发人员能够轻松地创建各种复杂的图表。无论是初学者还是经验丰富的开发者,都能够从中受益匪浅。
解压后,开发者需要将这些JAR文件添加到项目的类路径中,以便于编译和运行包含JFreeChart图表的代码。 创建图表的基本步骤如下: 1. **初始化图表**: 首先,你需要创建一个特定类型的图表对象,例如`JFreeChart ...
根据提供的文档信息,我们可以深入探讨JFreeChart的相关知识点,包括其...无论是简单的数据可视化还是复杂的业务报表,JFreeChart都能提供有效的解决方案。通过本篇介绍,相信读者已经对JFreeChart有了较为全面的认识。
- 提供的 `jfreechart-1.0.5-demo.jar` 文件可以直接运行,无需编译源码,便于快速查看和理解 JFreeChart 能够生成的各种图表效果。 - 运行这个 JAR 文件,可以看到一个包含各种图表类型的示例窗口,通过这个窗口...
本文档旨在指导用户如何安装和配置 JFreeChart 1.0.9 版本,同时提供了一些基本示例和最佳实践建议。 **版本说明:** - **当前版本:** 1.0.9 - **发布日期:** 2008 年 1 月 4 日 - **作者:** David Gilbert **...
例如,可以创建一个报表系统,用户可以根据不同条件查询销售数据,系统返回以JFreeChart生成的柱状图或折线图,显示各个产品的销售趋势或对比。 总的来说,"struts2+mysql+jfreechart"的组合为开发数据驱动的Web...
JasperReport和iReport是Java平台下用于生成报表的工具,它们在企业应用开发中扮演着重要的角色,尤其是在报表的生成、展现和打印方面。JasperReport是一种报表引擎,它能够解析.jasper文件并将其呈现到用户界面中,...
8. 选择生成文件格式,编译、生成报表,iReport提供了多种输出格式,包括pdf、html等。 其他开源报表制作软件 除了iReport之外,还有其他开源报表制作软件,例如JFreeChart、ReportJet、Chart2D等。这些软件都可以...
将JFreeChart Maven插件集成到构建流程中,开发者可以在编译、测试或打包阶段自动生成图表,确保每次构建时图表都基于最新的数据。这对于持续集成和自动化测试尤其有用,因为它提供了可视化的反馈,帮助快速理解代码...