首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

在netBeans上实现报表功能

2012-10-28 
在netBeans下实现报表功能? 最近一个项目中要求报表打印功能,而在Java中一直没有找到合适的报表设计工具。

在netBeans下实现报表功能

? 最近一个项目中要求报表打印功能,而在Java中一直没有找到合适的报表设计工具。到网上找了好久, 8) 终于被我找到了——就是iReport,它是基于JasperReports的报表设计工具。
? 我下载的是它的netbeans插件版,安装和使用起来都非常方便。那么我在这里谈一下的它的下载、安装到使用。

? 1 下载:请点击这个链接下载:http://sourceforge.net/project/showfiles.php?group_id=64348&package_id=263429
? 在下载这个插件之前,你还需要下载netbeans 6.0.1或 6.1 版可以到http://www.netbeans.org网站上去下载。
? 2 安装:看下面的图解。
? 下载完成后,先安装netbeans,启动netbeans,选择“工具-插件-已下载-添加插件”如下图:

?在netBeans上实现报表功能

选择你下好的“iReport-nb-0.9.1.nbm”插件,然后点击“安装”这样插件就可以安装了。

3 安装之后,我们先设计一个报表。

先使用“服务”创建一个数据库连接:

添加驱动(右键,新建驱动程序),如果你使用的是SQL SERVER数据库请到这里下载驱动:

在netBeans上实现报表功能

在“数据库”上“右键”点击“新建连接...”选择你下载并解压后的驱动程序包“sqljdbc.jar”,然后再创建连接:

?在netBeans上实现报表功能

设置连接信息,这是连接SQL SERVER 2005 或 2000的设置:

在netBeans上实现报表功能

如果添加成功,在“服务——数据库”下会出现下列的连接(可以点击右键选择“连接...”,使它连接到数据库):

?在netBeans上实现报表功能

4 报表数据库源添加,在工具栏上点击这个按钮:

在netBeans上实现报表功能



?

?

会出现

在netBeans上实现报表功能

这时点击“new”,选择“NetBeans Database JDBC connection”

在netBeans上实现报表功能

选择你新建的连接,输入一个“Name”如图:

在netBeans上实现报表功能

5 制作报表。

在netbeans中新建一个普通的Java项目(“文件——新建项目...”):

在netBeans上实现报表功能

新建项目后,再新建一个报表文件(“文件——新建文件...”):

?在netBeans上实现报表功能

在后面的向导中选择文件存放的位置,再选择相应的数据库源,之后(编写查询或使用“Design Query”设置一个查询):

在netBeans上实现报表功能

再选择报表中要使用的列:

在netBeans上实现报表功能

选择分组字段:

??在netBeans上实现报表功能

“下一步”选择风格:

在netBeans上实现报表功能

“下一步——完成”形成报表,点击“Preview”预览效果:

在netBeans上实现报表功能

6 在应用程序中使用你的报表。

为你的应用程序添加“库”:

?在netBeans上实现报表功能

选择库:

?在netBeans上实现报表功能

编写代码测试:

请新建一个类或使用项目的“Main”类编写如下代码,让你的应用程序使用你刚刚设计的报表:

        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
        at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
        at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
        at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:236)
        at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:213)
        at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:162)
        at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:132)
        at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:104)
        at net.sf.jasperreports.engine.component.ComponentsEnvironment.findComponentBundles(ComponentsEnvironment.java:90)
        at net.sf.jasperreports.engine.component.ComponentsEnvironment.getCachedComponentBundles(ComponentsEnvironment.java:78)
        at net.sf.jasperreports.engine.component.ComponentsEnvironment.getComponentBundles(ComponentsEnvironment.java:66)
        at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.getSchemaLocations(JRReportSaxParserFactory.java:157)
        at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.configureParser(JRReportSaxParserFactory.java:138)
        at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createParser(JRReportSaxParserFactory.java:103)
        at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1332)
        at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1307)
        at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:205)
        at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:199)
        at testireport.NewClass.main(NewClass.java:33)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 21 more
Java Result: 1

热点排行