首页 > 编程 > ASP > 正文

IReport与JasperReport开发详解一

2024-07-21 02:14:14
字体:
来源:转载
供稿:网友

 ireport与jasperreport开发详解一1、简介:        jasperreport是一个报表制作工具,用户须按照它编写的规则编写一个xml,然后得到用户所要的报表文件。 jasperreport程序库是一个灵活,功能强大的报表产生工具,可以以pdf, html或xml等多种形式产生报表, 并支持csv, xls,等格式报表。该引擎由java编写,支持多种形式应用程序产生动态报表。打印的报表文档,jasperreport是按照一个预定义的xml文档来组织报表的数据, 这些数据来源多样,包括关系数据库、java容器对象,后面我们将介绍,用户通过简单的接口来实现数据源与报表引擎的使用。        首先我们所用到的ireport的版本是:"ireport 0.4.1";jasperreport的版本是:"jasperreports 0.6.5".目前ireport支持asperreports 0.6.0到0.6.4之间的版本包括0.6.0.和0.6.4版本身。 1.运行环境         jdk要求最低1.2.2 或更高版本。 2.jasperreport的工作方式(图片来源:http://ireport.sourceforge.net/cap3.html#3.1)         用户通过使用ireport设计好报表后,得到一个xml文件(以.jrxml结尾的),编译后生成jasper文件(以.jasper结尾),最终要使用的是编译后的*.jasper文件3.ireport        3.1.1 将ireport0.4.1解压后在目录中会有一个名为:"ireport.bat"的批处理文件,双击运行它(如图:)。         3.1.2 ireport运行起来后的主界面如下图:         3.1.3 制作基于sql server数据库的一个报表(静态的报表制作在网上很多,在这里不作说明), 首先选中file菜单(如图), (图1)选取中new document创建一个新报表(也可以选report wizard报表向导来生成报表,现在暂不谈),也可以点击图标, 来新建报表。         3.1.4 真写报表属性         在"report name"真入报表名字,在"page size"区内选择你所要用的纸张及尺寸,我们在这里选择默认参数, 在网上很多资料介绍须要修改"i18n"选项卡中的"xml encoding",改为"gb2312",默认参数为" utf-8",并且ireport并没有提供该选项,此选项我们并没有去修改它仍然为"utf-8",如果你认为有必要可以手动输入"gb2312".然后点击ok.主界面变为:        3.1.5 设置数据源,单击菜单"datasource",选中"connections/datasources"出现如下对画框,单击"new"设置数据源         单击"new"后,弹出对画框,设置连接属性(如图:),选择你的数据源("type of connection/ddatasource"), 里面有javabean,xml,jdbc等数据源,我们选择jdbc数据源,数据源名字"name",可以任意输入你喜欢的名字。在"jdbc driver "下拉列表框中选择数据库连接驱动, 我们选择连接sql server类开的如图,连接jdbc的url,它会自动为你填上。在"server address"输入框中输入服务器地址。在"database"输入框中填写你要使用的 数据库名字.以及填上你登陆数据库的用户名"username"和密码"password",然后点击密码输入框中边上的"save password"保存密码,接着点 击"wizard"将你的登陆信息更新到"jdbc url"中 ,现在我们应该作一个对数据库的连接测试,看看设置是否正确        点击右下角的"test", 如果测试成功后会弹出        否则就会弹出连接错误对话框(如图) 这时你就要检查你的设置参数是否正确,以有数据库的安全登陆方式。未完待续    faq        1.生成报表时中文产生乱码?             jasperreport的中文处理,须要一个亚洲语言包" itextasian.jar,"话到ireport下的lib目录中;然后修改报表的"pdf font name"将其改为"stsong-light",再则是修改"pdf embedded pdf encoding" 将其改为"unigb-ucs2-h(chinese simplified)" ,这样就可以解决jasperreport的中文问题了(针对pdf设置的,对excel也许要少一些,不过这样设置同样也能显示为中文,是不爱引响的)。        2.报表编译时产生noclassdeffoundexception异常?             在代码处理jasperreport时出现该异常,是因为在引用jasperreport的一些jar文件不完整,因工作忙我的处理方式是将jasperreport目录下的demo ample/webapp/web-inf/lib/所有的jar文件,全引用了,以防不测,同时也没有时间去过多的深究。一定会有一些不必要的包被引用了,如果你有时间可以看一下,再将不必要的jar去掉。        3.另存为pdf时出现unisupportencodingexception异常?             在报表设计的过程中难免会有小错误,这是因为没有改变"pdf font name"应改为"stsong-light".  下载相关:        ireport下载地址:http://ireport.sourceforge.net        jasperreport下载地址:http://jasperreports.sourceforge.net        itext亚洲语言包下载地址:http://www.lowagie.com/itext


收集最实用的网页特效代码!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表