`
xhanhan
  • 浏览: 4887 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

BS系统自定义报表插件

阅读更多

之前发的一个非ie内核浏览器支持activex的文章里提到了自定义报表插件,现在我将自定义报表发出来与大家分享下。
原文章地址http://xhanhan.iteye.com/admin/blogs/1670857

之前做桌面应用开发时,一直使用FastReport处理报表打印,FastReport友好灵活的设计界面,动态绑定多数据源等形式,可大大提高开发效率。

于是脑子里冒出了一个想法,如果fastreport可以用在BS项目中,那么处理客户的自定义报表的需求真是非常之方便。萌生了这个想法后,马上着手进行开发。

开发过程中偶然发现FastReport竟然有一套ClientServer控件,它的功能就是客户机读取服务器上的报表文件进行预览和打印,我擦~~~~这么来说我只需客户端封装一个activex控件不就能实现了么,这也太~~~~~~简单了吧。但是后来考虑了下,这样的话服务器端必须运行一个server端程序,就只局限于windows操作系统了。所以果断pass了这个方案。

FastReport的ClientServer控件


最后决定服务器端还是由java来实现,客户端通过activex进行调用。大家都知道FastReport是通过读取fr3报表模板文件来显示和打印报表的。在BS架构程序中,这些报表模板文件肯定是要存放在服务器上。所以我采用了文件流传送模式,客户端发起请求,服务器将模板文件以流的形式发送给客户端activex控件,然后fastreport直接打开流,进行报表编辑,预览和打印等操作。同时客户端如果对报表进行了自定义后也会以流的形式传回服务器,然后服务器会更新相应的报表文件。

现在客户可以编辑报表了,最关键的问题来了,报表里的数据怎么获取呢?我们都知道在delphi中FastReport是以DateSet作为数据源来显示打印数据的。java里没有DateSet啊,这可让老衲如何是好~~~~~

后来上网搜了些资料,发现可以通过xml转换成DateSet。问题解决。

整个插件的流程基本上就是在客户端与服务器之间的数据转换~~~~~

目前插件已经可以自定义报表、预览报表、打印报表等基本功能。同时加上之前我发的非ie内核支持插件配合使用,可以支持市面上绝大多数的浏览器。

本人已经将两个插件打包到了一起。提供给大家下载。同时提供了java调用的例子供大家参考。

下面一步步的带着大家对demo进行部署和测试,我们下载的压缩包解压后一共有三个文件夹。如下图



第一个是demo程序、第二个是exe安装包、第三个是服务端需要引入的jar包

第一步,我们打开myeclipse将rptDemo项目导入进来。选择菜单 file-import,弹出如下窗体


选择“Existing Projects into Workspace”,点击next进入下一个页面

如图点击“browse”找到demo程序路径,选择然后点击确定,之后点击finish完成导入,下图是项目结构

我们只需要修改一下ipConfig.properties文件



如图所示rootName为项目跟目录名称,这里不做修改,ip设置为你部署项目机器的ip,port不用说了,大家都懂的。
设置完成以后大家可以将项目部署运行了(具体部署运行就不细说了,大家应该都了解)

启动tomcat后,打开浏览器输入地址,如下图


点击报表一,会出现提示未安装插件,是否下载。



下载完进行安装





点击完成完成安装。接下来回到页面刷新一下(如果还提示插件未安装,请关闭浏览器再打开即可),会看到四个按钮,你可以分别点击测试。



1、编辑报表
点击设计报表出现报表编辑窗体。可以看到目前报表显示编号和姓名两列,我们可以手动编辑,加入地址列,然后点击保存(或者按键盘ctrl+s),会提示报表保存成功提示。如下图





2、预览
报表保存后点击预览按钮,可以看到刚才新加的列已经显示出来,如下图



您也可以在火狐或者google浏览器下测试,目前可支持大部分市面主流浏览器

火狐测试效果:



以下是本人联系方式,欢迎大家多多交流
qq:1172494835
email:xhanhan@126.com
分享到:
评论

相关推荐

    基于FastReport编写的web打印控件,实现打印模版在线设计.rar

    这些年的工作当中,最早是在8年前接触到FastReport这个报表工具,从名字上来看,直译...通过开发FastReport.net的ActiveX控件,可以实现用户自定义报表功能,网页直接打印功能,指定默认打印机功能,反正跟桌面版本体验

    SecPath A2000-AK运维审计系统产品白皮书.pdf

    SecPath A2000-AK系列运维审计系统提供丰富的报表功能,支持基于用户、设备、访问频率等数据的分析报表,并支持用户自定义报表模板。报表格式支持PDF、Excel、HTML等主流格式。系统的部署采取物理旁路部署,不干扰...

    基于BS结构的Java可视化工作流定制软件

    工作流定制则是指该软件允许用户根据自己的业务需求自定义工作流程,提高了软件的灵活性和适应性。 【描述分析】 虽然描述中仅重复了标题的信息,但我们可以推断,该软件可能包含以下特性:提供图形化的用户界面,...

    U8开发之UAP表单

    10. 用户还可以自定义控件,进一步增强系统的个性化定制。 开发UAP表单的过程包括登录UAP开发环境,创建项目,定义表单和实体关系,设计布局,发布表单,最后在U8中使用。开发工具提供了直观的操作界面,使得开发者...

    ttshop-b-s-:ttshop bs 在线销售管理系统

    各种销售统计报表,利润报表等功能.9 . 结合 jxl ,实现基本数据利用 excel导出数据和导入数据功能.10 . 系统中大量利用到 jquery ajax,实现极少页面跳转完成系统各种功能操作11. 产品图片的 html5 ajax上传 , 美图...

    DTCMS5.0SQLSRC

    同时,其内置的分析服务、报表服务和数据挖掘工具,为系统提供了数据分析和决策支持的可能性。 DTCMS5.0的功能模块丰富多样,包括文章发布、图片管理、文件上传、用户管理、权限控制、评论反馈、搜索引擎优化(SEO...

    用友U9-UAP-介绍.pptx

    此外,UAP还支持通过插件系统来实现U9与第三方应用之间的调用。 #### 其他相关功能 除了上述核心功能外,UAP还提供了一系列其他相关功能,例如Office应用集成、工作流支持等,这些都能够进一步提升系统的实用性和...

    CCFLOW5的安装说明

    - 动态报表:具备自定义报表设计功能,便于数据分析与展示。 - 通知机制:自动发送邮件通知,提升工作流程效率。 - 扩展SDK:支持SDK模式,便于二次开发与定制化需求。 #### 四、安装前准备与步骤 ##### 安装前...

    FastCRM服务端说明.pdf

    - 插件集成:支持第三方插件集成以增加更多功能。 - 自定义字段:根据企业需求添加自定义字段。 通过上述详细介绍可以看出,FastCRM不仅具备了客户关系管理系统的基本功能,还针对中小企业的实际需求进行了优化和...

    java源码包2

    Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP  Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML...

    bootstrap daterangepicker双日历时间段选择控件详解

    在js部分,需要使用daterangepicker插件,并配置相关的选项,例如startDate、endDate、minDate、maxDate等。 三、bootstrap daterangepicker的配置 bootstrap daterangepicker提供了多种配置选项,例如: * ...

    java源码包---java 源码 大量 实例

    Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP  Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件...

    java源码包3

    Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP  Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML...

    java源码包4

    Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP  Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML...

    bootstrap-daterangepicker- 基于 Bootstrap 框架的日期范围选择控件

    这个插件允许用户在网页上方便地选取一个日期范围,通常用于筛选数据或者设置时间跨度,比如在日历应用、数据分析工具或者报表生成器中。 **核心特性** 1. **多主题支持**:daterangepicker 提供了 Bootstrap 2 和...

    JAVA上百实例源码以及开源项目源代码

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

Global site tag (gtag.js) - Google Analytics