Web项目集成FineReport
序:
项目的最后应该数据的汇总展现服务会是客户的需求,很多公司不会专门去开房报表,而是面向过程的开发几个报表,这样是相当的累。这个报表现在越来越强大了,除了Excel报表还可以有word类型的、饼图、柱状、线条等。早期有通过邮件合并方式做的报表,这个主要的是会sql就ok。反正我觉得很好用,刚好有点时间就集成玩了下。
一、jar的导入
这个报表集成需要引入的jar其实很少,如果轻度使用不涉及填报等交互的话,引入的更少。个人建议不管使用程度,还是把基本的都引入。
二、web.xml的修改
项目的web.xml文件需要引入报表入口的servlet,配置如下:
<!-- fineReport -->
<servlet>
<servlet-name>ReportServer</servlet-name>
<servlet-class>com.fr.web.ReportServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ReportServer</servlet-name>
<url-pattern>/ReportServer</url-pattern>
</servlet-mapping>
三、2个主要目录新建,一个resources(放配置xml文件的)、reportlets(放模板cpt文件的,可以建子目录),注意是在WEB-INFO下哦。
四、基本配置文件
数据库连接配置文件:datasource.xml
注意这个文件可以在你执行exe文件后的编辑器安装目录下D:\Program Files\FineReport_8.0\WebReport\WEB-INF\resources拷贝,前面jar包也是在lib目录下。另外需要注意的是,这个文件的内容不是全部都需要的,需要的内容
<?xml version="1.0" encoding="UTF-8"?>
<DatasourceManager xmlVersion="20170715" releaseVersion="8.0.0">
<ConnectionMap>
<Connection name="FRDemo" class="com.fr.data.impl.JDBCDatabaseConnection">
<DatabaseAttr originalCharsetName="UTF-8" newCharsetName="UTF-8"/>
<JDBCDatabaseAttr url="jdbc:mysql://10.9.220.18/jdsf_debug" driver="com.mysql.jdbc.Driver" user="root" password="xxx" encryptPassword="true">
<DBCPAttr/>
</JDBCDatabaseAttr>
</Connection>
</ConnectionMap>
</DatasourceManager>
打开本地的报表模板编辑器,新建一个模板,模板的新建就很简单了,主要是写sql,然后设置每个单元格显示的字段,可以自己预览的。
大概就是上面这样的,编辑器新建的模板在安装目录的D:\Program Files\FineReport_8.0\WebReport\WEB-INF\reportlets下,
特别说明:
把光标放在文件上点反键,选择txt编辑器查看,注意看:
注意DatabaseName与datasouce.xml里的Connection节点的name一致,否则会会报错找不到数据源
<Connection name="FRDemo" class="com.fr.data.impl.JDBCDatabaseConnection">
看看我做的测试效果:
url里我们的项目上下文是隐私,呵呵,然后为什么要加op=view?大家想想呗,API里有介绍的。
到这里就结束了,谢谢。