- 浏览: 6359150 次
- 性别:
- 来自: 一片神奇的土地
文章分类
- 全部博客 (745)
- JQuery (25)
- JS (33)
- 数据库 (59)
- Java基础 (56)
- JSON (8)
- XML (8)
- ireport (7)
- 设计模式 (10)
- 心情 (14)
- freemarker (1)
- 问题 (15)
- powerdesigner (2)
- CSS (15)
- DWR (4)
- tomcat (16)
- Hibernate (12)
- Oracle (7)
- Struts (7)
- Spring (34)
- JSP (23)
- 需学习 (64)
- 工具类库 (63)
- Maven (14)
- 笔试题 (34)
- 源码学习 (31)
- 多线程 (39)
- Android (32)
- 缓存 (20)
- SpringMVC (14)
- jQueryEasyUi (12)
- webservice-RPC (13)
- ant (1)
- ASP.NET (10)
- 正则表达式 (3)
- Linux (15)
- JBoss (1)
- EJB (3)
- UML (2)
- JMS (3)
- Flex (8)
- JSTL (2)
- 批处理 (5)
- JVM (16)
- 【工具】 (16)
- 数据结构 (29)
- HTTP/TCP/Socket (18)
- 微信 (1)
- tomcat源码学习 (15)
- Python (30)
- 主机 (2)
- 设计与架构 (19)
- thrift-RPC (2)
- nginx (6)
- 微信小程序 (0)
- 分布式+集群 (12)
- IO (1)
- 消息队列 (4)
- 存储过程 (8)
- redis (9)
- zookeeper (5)
- 海量数据 (5)
最新评论
-
360pluse:
技术更新,战术升级!Python爬虫案例实战从零开始一站通网盘 ...
Python爬虫实战:Scrapy豆瓣电影爬取 -
18335864773:
推荐用 pageoffice 组件生成 word 文件。
JAVA生成WORD工具类 -
jjhe369:
LISTD_ONE 写道起始地址为163.135.0.1 结束 ...
IP地址与CIDR -
baojunhu99:
private final int POOL_SIZE = 5 ...
使用CompletionService获取多线程返回值 -
LovingBaby:
胡说,javascript 运行时是单线程的,event lo ...
Ajax请求是否可以实现同步
Jasperreport是一个报表制作程序 ,用户需要按照它制定的规则编写一个XML文件,
然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等。
而iReport就是一个制作Jasperreport的XML文件的可视化开发工具 。
如何在 ireport 中插入超链接 ?
一个页面最大:595 842
附件模版:
带图片模版:ServiceVoucher.rar
普通模版:b2bHotelInfo.rar
iReport的基本使用
来源:http://blog.163.com/liushuo216@126/blog/static/1814432020087534517426/
2. 报表的结构
新建的报表如下:
一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detail、columnFooter、pageFooter、lastPageFooter、summary以及groupHeader、groupfooter。
·Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。Title只在第一页出现。
·pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。
·columnHeader:无可非议的这里是放置列的名称,记住不是列数据。
·detial:放置需要循环输出的数据,比如销售记录数据。
·columnFooter:放置列级别的统计计算值或是列的说明。
·pageFooter:放置页级别的统计值或是页的说明。
·lastPageFooter:最后一页特殊的格式,可以放置总结等。
·Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。Summary只在最后一页出现。
·groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。
·Groupfooter:放置组的统计或是说明
3. 添加对象
可以通过工具栏的工具添加静态对象与动态对象。点击 可以创建静态对象,点击 可以创建动态对象。之后在报表的空白处单击,如此即可把对象添加到报表,然后拖动对象的边框,使它的大小合适,双击即可对对象中的文本进行快速编辑。
仔细观察,会发现对象的边框有两种颜色,一为蓝色,二为红色,蓝色为符合布局要求,红色反之。
注:一个对象不能横跨两个区域,即不能既在columnHeader里又在detail里。
鼠标右击对象,弹出如下菜单:
点击”属性”,编辑对象的属性。
这里面有很多属性,可以依据要求来更改其中的部分或所有。其中,重要的可能是关于PDF的。
红框框起来的部分要注意,当要输出中文的时候,需要类似设置。新版本对边框的更新,使我们操作起来更为方便。注意下面红框里的部分,这可以对每一个边进行分开的设置,人性化的为我们解决了大量问题。
注:JasperReport没有现成的表格,最好的方法就是用一个一个对象的边框堆积起来,组成一个表格。但是,对象的边框不能覆盖,否则HTML、EXCEL等不能正常输出。
对于动态对象,属性如下。
主要属性如图所示。在Pattern里,可以定义输出的格式,在输出时间和日期或者货币时尤为有用。上图中的”stretch with overflow”表示当填充值超出定义的大小时,自动换行;”blank when null”表示当数据为null时不显示数据,这两个在某些时候很有用处。
而在表达式一栏中,如果字体为蓝色,则表示不正确,当输入正确的时候,会呈现绿色,如图。
4. 设置数据来源
按照图中的介绍填写相关信息,并测试信息是否正确,然后保存。iReport可以添加保存多个数据源连接信息。
注:如提示找不到相关驱动,则需要将驱动的JAR包复制到iReport的lib文件夹下。
5. 变量、参数及字段
在使用iReport 的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使用和意义:
·字段(Fields):是数据源抽取出来的,希望在报表中出现的数据库内容。比如一个ID的所有值,$F{ filedsName }。
·参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters),$P{ parameterName }。
·变量(Variables):这是报表中一些逻辑运算的表现,比如统计值,$V{ variablesName }。
变量
可以通过以下方式添加、修改和删除。
弹出如下对话框:
红框里的是iReport自带的供用户使用的变量,用于计算数量和总值等。点击”新增”,可以增加用户自己的变量,如图。
各个部分功能如标注所示。
参数
定义参数的按钮就在定义变量的旁边,如上节,不赘述。
上图中,红框里的是系统内置的参数,供用户调用,其中包括一些常用的参数,如连接、最大值等等。点击”新增”按钮后,出现如下页面。
在新增参数对话框中输入参数的名称、数据类型、缺省值以及参数的描述信息等。需要注意的是,根据不同的参数类型,在设置参数的缺省值时要使值能与参数类型匹配,即字符型的参数在设置缺省值时要用””把值括起来,如果是数据值型的则不能加””。
参数的引用方式有两种,,一种是$P{},另一种是$P!{},前者可以出现在任意的表达式位置,而后者则只能出现在SQL脚本里,用来替换查询语句,用以按照不同的需求替换查询语句。同时,在脚本里,也有些许区别:前者只能替换语句的部分字段,如SELECT * FROM bugs where name=$P{Name} order by proname, modulename,而对于$P!{},则可以直接在SQL脚本框里输入$P!{SQL}。
字段
编辑字段的方式与变量、参数类似,打开”字段”界面。
在点击”新增”后,出现如上页面,根据情况填写字段名称、字段类型(一般与数据来源类型相匹配)和字段的描述等。这种是手动添加字段,另一种更为方便的方法是从数据源直接读出,将在后面介绍。
字段用于动态对象里,即 。它的主要功用在于动态连接数据源,完成数据源的读出显示,所以在有动态对象的报表里,执行的时候一般采用”执行报表(使用动态连接)”,如图。
6. 动态数据源
从上图中,选择默认的动态连接。
弹出如下界面,各部分功能介绍如图。
这便是上面所说的另一种更为方便的添加字段的方法,从数据源直接复制到字段里,方便、快捷。
如上图所示,还有三种连接数据源的方式:JavaBean、DataSource、CSV。多种不同的方式给我们添加了很多便利。
7. 组
组是一个很重要的概念,一个报表可以多个组,每个组以一个关键字为标记,比如希望统计是根据项目(或是产品)进行统计的。那么可以设立一个项目标记的组。如图。
组的参数设定可以看界面即可理解部分,其中最主要的是“Group expression”,这里必须输入格式正确的并且存在的字段名称,本文的“Name”是【字段】中的一个元素。依此类推,建立其他的组对象。每建立一个组,在报表的界面上都会出现该组对应的段,组的Header与Footer是对应出现的。如图。
8. 风格化
如图。
点击”Styles”,弹出如下界面。
在这里,我们可以定义许多个常用的格式,按照个人喜好进行定义,定义后,在对象属性的页面上可以选择使用哪种风格,所设置的属性会自动继承。如图:
9. 界面介绍
在iReport的界面上,处于人性化的考虑,设置了很多快捷按钮供用户使用,如图。
上图包括文档的基本操作,线条与图形的绘画,静态与动态对象的添加,图表图像报表的插入,报表、栏等的属性,也包括编译、执行等按钮。
上图包括字体字号,一些对象内部的基本排列操作和数据源设置等。
上图包括对象的对齐、排列、规格化等操作。
所有这些快捷按钮给用户提供了很大的便利,熟悉之后,用起来会更加顺手。
10. 预览
iReport支持多种输出格式,其中包括PDF,HTML,XML,XLS,CSV等等。介绍一下如何进行预览和输出。
iReport默认是JRViewer输出预览,用户可以在上述菜单中进行调整和选择。
在这里,但是只在此设置输出格式了,还没有完成设置,还有一个必需的设置就是,为每一种设置选择执行“环境”,例如,如果你选择以PDF 输出,那么你需要为其指明Adobe Reader 的路径,如图选择菜单Options/选项,则会弹出如下属性页:
选择之后,保存即可,iReport会自动调用相关程序来完成输出和预览。
四、报表的输出
正如前面所说,报表有很多种输出方式,这里挑选一些常用的进行介绍。
在iReport中,我们可以对报表进行预览,而此时,是iReport帮助我们完成了绝大部分的工作,我们并不需要输入代码来完成输出,而这里我们所说的输出是输出到文件或者输出到WEB页面等。
我们将以输出html格式为例子讲述。有人会问:这html不是静态页面吗?我说,的确是这样的。不过,html有普遍适用性,我们可以把它插入到动态页面里面去,比如说JSP或者ASP等。
动态页面的技术细节不在这里赘述,这里我们只介绍jasperReport相关,下面我们以JSP相关技术为基底来叙述。
1) 读取.jasper文件
通过iReport软件,我们可以把已经定义好的XML编译成.jasper文件,供以后使用。本人把.jasper文件放置在站点根目录下的reports文件夹内,读取文件的代码如下:
ServletContext servletContext = this.getServletContext();
String realPath = servletContext.getRealPath("/report/done.jasper");
2) 转换成JasperReport类型
查找到.jasper文件的绝对路径后,可以对其进行读取,有很多种方式可以读取,不过笔者推荐如下方式(这也是官方例子中推荐并使用的):
JasperReport jasperReport = (JasperReport)JRLoader.loadObject(realPath);
3) 建立数据源
前面介绍过,jasperReport支持多种数据来源,比如说:数据库连接Connection、JavaBean、CVS数据源等等。不过jasperReport提供一种通用数据源类型JRDataSource,它很多子类实现,即为多种数据来源类型。
这里,我们介绍两种普遍数据源:数据库Connection和JavaBean。
首先是Connection。通过数据库的URL、用户名、密码和驱动类来进行数据库的连接,返回Connection即可,当然,此种情况需要在iReport中定义SQL查询语句。另一种方法是,直接从Connection中完成数据库的查询,返回结果集ResultSet,继而把ResultSet封装成JRDataSource的子类JRResultSetDataSource。两种方式没有孰优孰劣,凭喜好使用即可。两种方式代码如下:
一、
Class.forName("******Driver");
conn = DriverManager. getConnection ("***Driver:// localhost:***; DatabaseName =***; user=***; password=***");
二、
ResultSet set = statement.executeQuery();//=new ResultSet();
JRResultSetDataSource source = new JRResultSetDataSource(set);
对于JavaBean来说。需要定义标准的JavaBean格式,即它的每一个属性都要有对应的getter/setter方法,而且,需要定义一个Factory类,其中包含一个静态的方法,返回Collection类型或者Array类型的JavaBean结果集。相比较Connection来说,JavaBean要麻烦许多,不过也要灵活许多,这才是灵活性的体现(因为有时候,查询语句会很复杂,数据来源一样会很复杂,而JavaBean无视这一切)。JavaBean代码如下:
JRBeanCollectionDataSource dataSource;
Collection rows = NumFactory.generateCollection();
dataSource = new JRBeanCollectionDataSource(rows);
上面语句的功能应该很明显了,不赘述。
4) 生成JasperPrint对象
当数据来源确定后,下一步是生成JasperPrint对象。简单的说,JasperPrint对象就是jasperReport对象的动态填充,即把相关数据插入到报表当中。
JasperPrint rptPnt = JasperFillManager.fillReport(jasperReport, params, dataSource);
JasperFillManager类有许多的填充方法,基本囊括了各种参数的填充,包括Connection、DataSource等的填充。
5) 输出
动态填充数据完成后,就可以进行输出了。输出时,有几种方式:输出到流,输出到文件,也可以直接生成视图等。
对于每种输出格式,JasperReport都提供一个特定的Exporter,比如JRXlsExporter、JRHtmlExporter等等。这些Exporter中,可以定义相关的输出格式,有一些是必须要定义的,比如:
exporter.setParameter(JRExporterParameter.JASPER_PRINT, rptPnt);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, httpOut);
当然,这是流输出的例子。JRExporterParameter中有所有格式的通用属性,而对于每种格式,有不同的ExporterParameter对象,对应着不同的参数。用户所需要的参数定义完毕后,调用exportReport()方法输出即可。
五、例子
下面是一个格式化的报表:
然后是运行之后的截图:
六、独立性与易集成性
前面可能把整个过程讲述的很复杂,其实,在整个建立与输出报表过程中,是一气呵成的。iReport与JasperReport是紧密相关的,而除此之外,它们的独立性非常好。
利用jasperReport+iReport生成并输出报表,可以方便的嵌入“胖客户端”以及WEB工程,以公安项目为例。
此项目是基于Struts结构的,浏览器端的请求是通过ActionServlet来传递的,依照项目要求,我们只要把已经做好的jasperReport实例导入到项目里即可。导入方法可参考如下:
首先,把相关jar包导入到工程的lib文件夹下,搭建必需的环境;
其次,新建Action类,并将其对应的路径等相关信息加入xml配置文件中;
然后,如同输出html文件一样,将输出代码拷贝到Action类中,实现流的输出即可;
最后,将原实例中的相关处理类拷贝到项目中,调整包的路径,使之正常运作即可。
这时,只要修改某些页面的链接即可完成报表的输出。
七、其他相关问题
如何使用图片?
很容易,用Image控件就可以了. 在Image Express 里面可以用String来表示图片的路径, 或者用InputStream, File 对象.不过不管用File 还是String 对象, 都不得不用绝对路径, 这显然很不灵活.解决办法是,穿入一个$P 的参数,表示图片所在的目录,然后用$P 和文件名拼接出完整的绝对路径. 或者通过代码来控制, 比如System.getProperty("user.dir")+"\\report.jpg"就表示图片的绝对路径。更好的方法是用InputStream, 例如his.getClass().getResourceAsStream ("report.jpg") ,这时只要把图片放在当前.jasper所在的 目录就可以了,不必考虑什么参数,什么路径。
动态控制某些Field 是否显示
每个Static Text, Text Field 甚至整个Band 的属性里面都有Print When Expression, 比如设成new boolean(!$P{isDisplay}.equalsIgnoreCase("yes")), 那么只有当参数display的值为yes 的时候才显示。
使用Sub Report, 如何使用相对路径
和使用图片类似,最好使用InputStream 或者传入参数。
Query里面如何使用参数
$P!{xxx} 或者 $P{xxx} 后者只能用于类似PreparedStatement参数绑定, 而前者可替换Sql 的任意部分. 在需要动态排序的时候, 前者特别有用. 比如select a,b,c from t order by $P!{orderClause} 不管用$P 还是$P!, SQL最终是以PreparedStatement 方式执行的, 不必太担心性能问题 注意:参数是不能嵌套的,比如$P{a} =''$P{b}'' , $P{b}=''value'', 不要指望$P{a}能被替换成''value''
如何使用图表(Graph)
JasperReport 本身没有图表功能, 只有显示Image 的功能,iReport 里有个Graph 向导, 其实质是通过jFreeChart 生成Image. 另外, 更直接的做法是放一个Image控件, Image Express Class 设置成java.awt.Image, 在Image Expression 里通过自定义的类返回java.awt.Image对象.
例如GraphProvider.getImage($P{REPORT_DATASOURCE},title, subtitle.....);GraphProvider是自己的类, public static Image getImage(JRDataSource, ....)
如果显示多个图表
在一张报表上显示一个图表和显示多个图表是不同的. 假设Query 是selectname,price,qty from xxx, 第一张图显示name-price, 第二张图显示name-qty, 如果还是按上面的方法, 第二张图根本显示不出来! 为什么 因为传入的是JRDataSource, 而JRDataSource仅仅是对ResultSet的简单封装, 在第一张图处理完后, 游标已经到了eof 位置了, 在开始处理第二张图的时候,就必然抛出游标耗尽的异常! 怎么办?自己写个JRDataSourceAdapter,把JRDataSource对象里面的值预先保存到一个Collection (相当于一个Offline的数据集), 然后把这个Collection传个getImage方法. 具体是, 建一个Variable mydate, 类型是java.util.Map, Calculation Type- System,Initial Value Expression 是JRDataSourceAdapter.JRDataSource2Map($P{REPORT_DATA_SOURCE}, new String[]{"NAME","PRICE","QTY"},
new Class[]{java.lang.String.class,java.lang.Double.class,java.lang.Double.class}); JRDataSource2Map 是自己写的一个Adapter. 然后在Image 的Expression 里面换成如GraphProvider.getImage(mydata,title, other params...), 当然得修改getImage方法
Export到Excel的问题
如何去掉报表头
直接把不需要的Band 删除(把其高度设为0). 如果仅仅是export 到Excel 的时候不需要报表头, 而输出到PDF 等仍然需要保留, 那么使用print when expression, 见前面
如何让Excel 看起来整齐
不要有空白地方,首先把所有的Field 设成一样高, 对齐! 把所在Band 的高度也设成和Field 一样高, 让Field 正好放入Band. 然后调整Field 的宽度, 让每个Field 都相邻,没有空隙.(如果设置正确,所有的Field 边框在鼠标点中的时候显示蓝色,否则是绿色) 最后,记得设置参数:
exporter.setParameter(JRXlsExporterParameter. IS_REMOVE_EMPTY_SPACE_BETWEEN _ROWS , Boolean.TRUE);
如何保留GridLine
首先, 设置参数exporter.setParameter (JRXlsExporterParameter. IS_WHITE_PAGE_BACKGROUND , Boolean.FALSE);然后,把每个Field 或者Static Text 框的''Transparent''属性都勾上
如何使字段名只显示一次
如果把字段名放在ColumnHead 区域, 那么输出到Excel, 会每个Page 都显示一遍. 在设计Report 时候, 一般会设定Page 大小. 然而对于Excel, 这个Page设定仍然存在,而且往往很讨厌, 因为在Excel 里, 通常希望得到连续的数据, 然而Jasper 仍然会''自作多情''进行分页. 比如说, 设计JasperReport 的时候, 设定page size为Letter, Portrait, 那么输出到Excel 的时候每隔大约30 行(具体取决于Field 的高度), page header, column header, column foot, page foot 会被重复一次,而且还附带一个高度为0 的Excel Row, 表示Page Break 的地方. 把字段名放在title band 里, 可以解决字段名重复的问题, 当然page header也不要显示了. 如果需要, 可以把title band的print when expression设成只有输出Excel的时候才显示为什么Excel 里面的数据是从第二行,第B列开始显示的。
因为第一行和第A列分别是用来表示page top margin 和 page left margin的.对于Excel 来说, 纯粹多余. 解决方法是把page margin 设成0. 不过如果这个report 还需要以PDF 等显示, 那么设成0 就不好看了. 最好能动态的改变pagemargin. 当然,这个改变只能在外部(调用eport 的地方) 进行, 在设计Report 的时候是无能为力的. 不幸的是, JasperReport 类居然没有setMargin 的方法,只有getter.折中的方法只能是reflect 了. 代码示意如下:
//use reflect to set the private field of JRBaseReport
java.lang.reflect.Field margin =
JRBaseReport.class.getDeclaredField("leftMargin");
margin.setAccessible(true);
margin.setInt(jasperReport,0);
margin =
JRBaseReport.class.getDeclaredField("topMargin");
margin.setAccessible(true);
margin.setInt(jasperReport,0);
margin =
JRBaseReport.class.getDeclaredField("bottomMargin");
margin.setAccessible(true);
margin.setInt(jasperReport, 0);
如何去掉Excel 中隐藏的行
如前说述, 由于page break 的关系, Excel 中每隔几十行,就有一个高度为0 的row, 即使把page botom margin设为0, 把page footer去掉都没有办法. 唯一的解决办法是把page height 设为很大. 同上面一样, 不得不使用reflect:
java.lang.reflect.Field pageHeight=
JRBaseReport.class.getDeclaredField("pageHeight");
pageHeight.setAccessible(true);
pageHeight.setInt(myRpt, Integer.MAX_VALUE);
八、HTML的Bar3D图表输出心得
图表在ireport中是利用其他开源包生成的图片插入而生成,本人使用的版本是使用jfreechart1.0.0开源包实现。Ireport对jfreechart的支持不算完美,只是实现了部分的图表生成,但对于一般项目,也是足够用的。
对于图表的数据来源,和报表一样,也有多种来源,并不局限于数据库,而本人推荐的依然是javabean。用户只要在定义好图表的各项数据(比如:横坐标数据,纵坐标数据,横坐标标签,纵坐标标签,分类标准等等),jasperreport+jfreechart会自动进行数据的分类统计输出,这点是很人性化的。
看过jasperreport的源代码,发现,图表在HTML格式输出的时候,首先是输出一张图片,或者放在具体目录下,或者放在临时的response里,然后进行调用、输出展示。(如果选用后者的输出方式,需要注意:1.x版本后的输出需要对web.xml进行配置,配置一个servlet进行输出。)这样就造成了一个问题,就是当多用户同时访问页面的时候,用户看到的数据是正确的,但是图片却可能是别人产生的图片!
这可能是由于HTML浏览器对图片的引用时机不对,解决的方案是这样的:由于HTML格式的输出是字符形式的(PDF是二进制流形式的),所以我们选择首先把整个图表输出到字符缓冲区中,然后进行一次性输出,这样,我们辅助浏览器完成对图片引用时机的修正。当然,也可以这样做:通过修改源代码,把图片输出到不同的临时目录,这样的话,想引用错基本都不可能了J
在HTML输出的时候,一定要记得设置编码格式,通过exporter的CHARACTER_ENCODING属性来设置。而且,在HTML中输出的时候,可以不对报表进行分页操作,即取消分页。
还有,jfreechart默认输出的图片是进行抗锯齿处理过的。对于图形来说,这样会让图像显示的更圆润,而对于文字来说,可能就会显示变得模糊。解决方案:修改源代码。可以修改jasperreport的源代码,也可以修改jfreechart的源代码,只需按照如下代码进行改进即可:
jfreechart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
上面的代码将图片输出的文本抗锯齿关闭,而图像依然有抗锯齿处理,所以图片相对好看。不过,有一点需要注意:字体尽量是宋体,字号最好在12到14之间,这样能达到最好的显示效果。
- b2bHotelInfo.rar (1.5 KB)
- 下载次数: 104
- 带图片模版ServiceVoucher.rar (11.1 KB)
- 下载次数: 133
发表评论
-
Ireport交叉报表
2011-10-11 10:05 65561、构造数据源: package test; im ... -
Ireprot需注意的问题
2011-05-27 10:52 2122百度JS图表工具Echarts http://echar ... -
Ireport子报表总结
2011-04-07 11:01 12817实现效果:点击导出后弹出下载框 入口: ... -
使用报表开发工具Ireport生成Pdf报表的总结
2011-03-11 15:02 13552一、个人总结 要使用Ireport,首先都要 ... -
iReport默认参数和变量的含义解析【转】
2010-09-29 17:39 255761. 变量: ... -
iReport输出为HTML或PDF、XLS、DOC【输出HTML两种方法】
2010-09-29 13:42 3951//ireport 导出word格 ...
相关推荐
本教程主要讲解如何使用Jaspersoft iReport Designer 4.5.0版本来创建和设计报表。 ### 1. 新建报表 1.1 新建报表的步骤: - 在菜单栏选择“文件”>“新建…”。 - 在弹出窗口中选择“Blank A4”模板,然后点击...
【ireport 图文教程】 ireport 是一个专用于设计 JasperReports 报表模板的可视化工具,它使得报表设计变得简单易行。在 ireport 中,已经内置了运行时所需的 JasperReports jar 文件,只需要将 Jasperreports-***....
总结起来,这个 iReport 使用教程介绍了如何使用 iReport 设计一个基于 XML 数据源的表格报表。关键步骤包括创建模板、添加数据源、创建子报表、配置 XPath 查询、数据绑定以及样式调整。通过这个过程,我们可以了解...
本教程将深入讲解IREPORT的各项功能和使用技巧,旨在帮助开发者快速掌握这款开源报表工具。 一、IREPORT简介 IREPORT是Jaspersoft公司推出的一款免费的报表设计软件,它允许用户通过直观的拖拽方式创建复杂的报表...
本教程主要针对初学者,将指导如何使用 IReport 设计以 XML 文件为数据源的报表模板。 首先,确保你的系统满足 IReport 的安装需求,即需要 Sun Java 2 SDK 1.4 或更高版本。推荐使用的 JDK 版本为 jdk-6-beta-...
本教程旨在通过一系列实例简化 iReport 的使用过程,帮助读者更好地掌握其核心功能。 ##### 1.1 设定 iReport 环境 首先,需要正确设置 iReport 的运行环境,包括: - **设置iReport类库路径**:确保 iReport ...
在这个教程中,我们将深入理解这两款工具的核心概念、功能以及如何结合使用。 首先,JasperReports是一个开源的报表库,它允许开发人员在Java应用程序中生成静态和交互式的报表。它可以处理各种数据源,如数据库...
这个教程主要针对初学者,旨在帮助他们理解如何通过IReport来制作模板,特别适用于那些对IReport使用感到困惑的用户。 首先,启动IReport的步骤非常简单,只需双击已安装的IReport.exe图标。然后,通过“文件”菜单...
iReport&JasperReport配置使用.pdf指导了如何将ireport设计的模板与jasperreport API结合,实现报表的动态生成和交互。 1. 模板设计与编译:在iReport中设计报表模板后,通过jasperReport API编译成.jasper文件,...
【ireport图文教程】 ireport是一款强大的报表设计工具,它基于Java平台,提供了一个可视化的界面,使得报表设计变得简单易行。ireport的核心在于它内嵌了jasperreports库,这个库在运行时需要JasperReports-***....
本教程将深入探讨iReport的功能、使用方法以及在实际项目中的应用。 一、iReport简介 iReport是JasperReports项目的组成部分,主要用于设计 JasperReport 模板。这些模板可以与Java应用程序、Web应用程序或独立的...
通过本教程的学习,我们可以了解到iReport 3.7中JRXML模板的主要元素及其用途。这些元素包括数据过滤器、数据分组、背景设置、报表标题、页面头部以及列标题等。正确理解和运用这些元素能够帮助开发者设计出更加复杂...
### jasperreport+ireport开发java报表入门级教程(完整版) #### 一、简介:什么是iReport? iReport系统是一种在线系统,用于报告工作场所安全与健康(WSHA)事件报告条例下的事故、危险事件及职业病。雇主、占用...
"JasperReport 与iReport 的配置与使用.mht"文件可能包含了关于图表制作的教程。IReport支持多种类型的图表,如柱状图、饼图、线图等。在报表中添加图表时,需要指定数据源、系列和值,还可以自定义颜色、标签、图例...
2. **设计报表:** 使用iReport设计报表模板。 3. **填充数据:** 读取数据库或其他数据源中的数据,并将其填充到报表模板中。 4. **生成报表:** 调用JasperReports API生成PDF、Excel等格式的报表文件。 5. **显示...
3. **设计报表模板**:使用iReport的可视化界面,拖放元素设计报表布局,包括表格、图表、文本框等。 4. **编写SQL查询**:在报表设计中,设置SQL查询语句,从数据源中获取需要的数据。 5. **绑定数据**:将查询...