报表设计器开发Word文档下载推荐.docx

上传人:b****4 文档编号:18025892 上传时间:2022-12-13 格式:DOCX 页数:66 大小:462.36KB
下载 相关 举报
报表设计器开发Word文档下载推荐.docx_第1页
第1页 / 共66页
报表设计器开发Word文档下载推荐.docx_第2页
第2页 / 共66页
报表设计器开发Word文档下载推荐.docx_第3页
第3页 / 共66页
报表设计器开发Word文档下载推荐.docx_第4页
第4页 / 共66页
报表设计器开发Word文档下载推荐.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

报表设计器开发Word文档下载推荐.docx

《报表设计器开发Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《报表设计器开发Word文档下载推荐.docx(66页珍藏版)》请在冰豆网上搜索。

报表设计器开发Word文档下载推荐.docx

这些软件的基本特征是单数据源、条带式(BAND)分组统计模型,通过控件拖拽方式绘制报表,在不编码的情况下能完成简单地行式(分组)报表和单片交叉报表,数据集中在数据库中,可以共享。

但这一时期的用户需求已经与前一阶段的需求大为不同。

用户希望放在数据库中的数据能以自己熟悉的方式展现(复杂的表样、统计运算等),而这些报表软件的数据模型源于国外的报表习惯,解决复杂表样的方法并不好,复杂的统计运算也要求开发人员编写大量的程序代码,导致报表开发时间太长,后期的维护工作量也很大。

随着B/S应用逐步取代C/S,市场上对Web报表的要求越来越强烈,C/S时期的报表工具纷纷进行了若干改进与加强,普遍支持B/S结构,新的报表软件也如雨后春笋一样不断出现。

在报表工具的发展过程中,还有一类特殊的表格式产品,最著名有ormula1和华表。

这种类Excel的工具,展现能力非常强,但是因为没有数据模型,导致其数据处理能力几乎为零,程序员需要按格编写代码往里填数。

相比较分组式报表工具,类Excel工具能彻底解决复杂报表的样式问题,所以在实际应用中它一直是与分组报表互补的一类产品。

SWT/JFACE是Eclipse推出优秀的JAVA图形API。

RCP,也就是富客户端,是在Eclipse3.0之后分离出来的一个平台。

RCP技术其实就是插件开发,可以在一个很小的模板上加入各种插件,扩展性能。

现在RCP已经成为Eclipse开源项目的一个亮点,在国际上广泛的使用大量PCR来开发桌面应用程序。

在RCP平台上,可以使用Eclipse的插件机制来快速开发独立应用的桌面应用,从而轻松拥有Eclipse的界面结构和界面元素,节省了很多开发精力。

运用SWT/Jface和RCP技术来开发报表,是当前报表开发的主流方向。

一方面,SWT/Jface可以提供优秀的图形界面,克服JAVA桌面应用界面难看的缺陷;

另一方面RCP技术可以提高开发效率。

联合运用SWT/Jface和RCP技术,可以开发出优秀的报表产品。

第二章开发技术及环境

2.1软件环境

本系统的开发环境:

操作系统:

Windowserver2003标准版

应用服务器:

Tomcat5.5

开发平台:

eclipse3.3;

jdk1.5

2.2主要开发技术

SWT/Jface

SWT(StandardWidgetToolkit)是标准控件工具集。

Jface意为JAVAface。

由于SUN的AWT/SWING技术在与本地界面融合方面存在缺陷,因此IBM开发了SWT,使得界面风格和本地保持一致。

而Jface是SWTa的扩展包,采用MVC的设计模式,使用更加方面。

RCP

RCP(RichClientPlatform)意为富客户平台。

在RCP平台上,可使用Eclipse的插件机制来快速开发独立应用的桌面应用,从而轻松拥有Eclipse的界面结构和界面元素,节省了很多开发精力。

Dom4j

Dom4j(DocumentObjectModelforJAVA)是一个易用的、开源的库,用于XML,XPath和XSLT。

它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。

Dom4j使用起来非常简单,效率高。

只要了解基本的XML-DOM模型就能使用。

POI

POI(PointofInterest)意为为兴趣点,是JAVA与MSOffice交互时用到的第三方JAR,也是开源的,属于Apache的一个项目,用法简单。

它主要用来读写OLE2复合文档结构,本系统主要用它来操作EXCEL。

IText

iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。

通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

用法很简单,效率很高。

Lomboz

lomboz是用来开发j2ee应用、免费eclipse插件,用它可以大大加快web开发、部署等工作。

 

第三章系统设计

3.1系统体系结构

本系统采用三层B/S架构,分别为表示层、设计层和数据层,如图3-1所示。

(1)表示层(Presentation-Tier)

是报表显示层。

本报表系统的表示层有三种类型:

Web类型,Excel类型,Pdf类型。

(2)设计层(Designer-Tier)

是本报表系统的重中之重。

设计层设计的好坏直接影响到报表的使用。

其主要任务是建立报表、修改报表、发布报表、生成模板等。

这涉及到报表的数据来源,报表的格式,报表输出,是连接表示层和数据层的桥梁。

(3)数据层(Data-Tier)

主要是和用户有关。

本报表系统可以与几种常用的数据库系统交互。

报表中可以输入的数据很多,如图表、序列号、常量等。

数据层可以存储并管理这些数据。

图3-1系统体系结构图

3.2软件模块结构

本系统的软件模块结构,如图3-2所示。

图3-2系统软件模块结构图

图3-2中各模块的基本功能如下:

新建报表:

设置报表的名字、每页显示数目、选用报表模板;

把这些数据存到Preferences中,供保存报表使用。

新建数据源:

设置数据源名称,用它来标识数据连接;

选择数据库类型,并设置各种连接参数;

进行数据源说明;

进行连接测试;

连接成功后把数据源名称和各种连接参数保存到dataSource.xml文件中,供以后使用;

而数据源说明就生成一个文本文件保存。

编辑单元格:

设置单元格的数据,如数据源列、函数、系列号、图像;

设置颜色,字体;

设置所对应的行列是否扩展,所对应的行列是否排序。

这些都要用一定的格式保存起来,供报表显示时使用。

保存报表:

设置单元格属性后,保存设置内容。

先从Preferences读取报表相关数据,然后生成报表的xml;

遍历表格,把表格各种信息填到xml中。

编辑报表:

保存表格后,如觉得不满意,可以打开报表修改。

读取xml,把相关信息填到相应的单元格。

也可以设置报表的每页的行数、报表发布者、发布时间、报表说明。

生成电子表格:

电子表格可用来直接发布,也可用来编辑。

先读取报表xml文件,得到各个单元格的数据源,根据数据源不同,得到不同的数据,并填到相应的电子表格内。

可以设置电子表格的属性。

发布报表:

先设置发布目录,然后把项目文件夹下Files目录下的名和Preferences中保存相同的,后缀名为xml、xls、css、pdf的文件都复制到发布目录下。

如发布目录已有相同文件,就覆盖。

编辑CSS:

CSS决定网页页面显示格式,对报表非常重要。

本系统提供一个模板,旁边还有介绍各种标记的代表的内容的提示,这样用户就可以自己修改它。

修改完后点“确定”,生成报表名+“.css”的样式文件。

生成模板:

CSS不是很难,但要做一个好看的格式却很难,所心有必要把前面生成的CSS文件保存起来,提供下次使用。

首先设置模板名字,然后设置说明,点“确定”后,系统会把当前报表的CSS文件复制到模板xml文件,并生成说明的txt文件。

配置服务器:

配置发布目录、端口、最大线程数,以方便使用。

3.3数据源与系统文件结构

3.3.1系统数据源

报表就是数据的显示,所以数据源很重要。

本系统的数据源方案如下:

(1)提供建立数据源及管理数据源的功能。

针对不同类型的数据库数据,建立相应的数据源。

建立了数据源后,就用一个XML文件保存数据源信息,以后可直接从XML文件读取或修改连接信息。

(2)提供对其它类型数据源的支持。

主要支持EXCEL文件、函数、系列号、公式等数据源。

EXCEL文件可以直接解析为WEB格式,而函数,系列号,公式,图像等可以直接插入。

3.3.2系统文件结构

本系统作为一个桌面应用系统,涉及到许多文件系统,不管用户还是开发者,都有可能容易迷失在文件堆中,所以必须科学管理。

为了解决此问题,本系统设计了系统主目录文件结构,以下是系统主目录的的文件截图:

图3-4系统主目录文件结构图

图3-4中各文件的功能如下:

.metadata文件夹:

系统自动生成,保存有日志文件。

.setting文件夹:

系统自动生成,用于保存项目的各个参数。

Bin文件夹:

存放已经编译过的JAVA的.class文件。

DataSource文件夹:

存放数据源的dataSource.xml文件,其中还有各种.txt文件,用来说明各个数据源。

该文件夹结构如图3-5所示:

图3-5DataSource文件夹示意图

Files文件夹:

用来存放所生成的报表。

其中有存放报表信息的xml文件,也有生成为电子表格的.xls文件、pdf文件。

当然也存放了报表说明的.txt文件,其结构如图3-6所示:

图3-6Files文件夹示意图

图3-6Files文件夹结构示意图

icons文件夹:

用来存放图象,如按钮图标。

intro文件夹:

系统自动生成。

lib文件夹:

用来存放第三方JAR包。

META-INF文件夹:

系统自动生成,里面有MENIFEST.MF,在这个文件里有描述插件各种信息基本信息。

src文件夹:

是源文件,其结构如下图所示:

图3-7src文件夹示意图

从图中可知,src文件夹包括两个包,一个是xautreportdesign包,里面有Activator.java文件,这是RCP的激活类。

另一个是com包。

其实这个包里有三个子包:

com.Xautreportdesign.action,主要用来存放菜单,工具栏动作类的;

com.Xautreportdesign.util,主要用来存放一些工具类的,这些工具类对全局都有用;

com.Xautreportdesign.win,主要是界面方面的类,有一些是自动生成后我修改的。

com.Xautreportdesign.action包中的一部分类如图3-8所示:

图3-8com.Xautreportdesign.action包中文件示意图

com.Xautreportdesign.util包中的类如图3-9所示:

图3-9com.Xautreportdesign.util包中文件示意图

com.Xautreportdesign.win包中类类如图3-10所示:

图3-10com.Xautreportdesign.win包中文件示意图

Template文件夹:

是保存模板的文件夹,里面有模板文件.css文件,也有模板说明.txt文件,如图3-11所示:

图3-11Template文件夹示意图

.classpath、.project、build.properties、javaCompiler...args、plugin.xml、plugin_customization.ini都是系统自动生成的。

build.xml:

是用ant生成的,为系统打包用。

Report.product:

是要生成的新产品配置文件。

splash.bmp:

系统启动时产闪动画面使用。

3.3.3报表显示部分文件

对于报表WEB显示部分,有如下重要文件或文件夹:

dataSource文件夹:

存放数据源文件dataSourece.xml。

photo文件夹:

存放需要的图片文件。

.css文件:

是报表的css文件。

report.jsp:

是解析保存报表信息的.xml的文件。

exceltoweb.jsp:

是解析EXCEL并生成WEB的文件。

第四章系统实现

4.1主要实现算法

4.1.1新建报表流程图

图4-1新建报表算法流程图

该算法首先判断是否已有同名的报表,然后判断行数是否为数字,最后存入Preferences中。

4.1.2新建数据源流程图

图4-2新建数据源算法流程图

该算法先选择合适自己的数据库,然后输入信息,最后连接,看是否成功,若成功就把信息保存起来。

4.1.3编辑单元格流程图

图4-3新建报表算法流程图

该算法首先要得到当前鼠标的位置,然后转化为表格的行列,最后选择数据源,并设置单元格属性。

4.1.4保存报表流程图

图4-4保存报表算法流程图

该算法首先从Preferences中读取报表相关信息,生成报表名的xml文件。

然后遍历表格,读取各非空单元格的值及属性,填入写入小xml文件中,最后看是否用到模板,如用到,就生成报表名的css文件。

生成xml的代码如下所示:

<

XautReportFileName="

zainan"

tempname="

Template"

rownum="

8"

ownerName="

杨济忠"

time="

2008年6月3日"

intro="

true"

>

<

Columns>

ColumnDataSource="

D:

zainanDS.ID"

Span="

纵扩展"

Arrange="

不排序"

Color="

RGB{255,255,255}"

Font="

Tahoma.8.0"

A1<

/Column>

在XautReportFile中,“Name”代表报表的名字,“tempname”代表报表用到的模板,“rownum”代表WEB页每页显示的行数,“ownerName”代表作者,time代表发布时间,intro代表是否有说明内容。

而Columm代表一个单元格,“DataSource”代表数据源,里面不同的部分又代表不同的意思:

如前面为“D:

”,那代表数据库,中间代表前面建的数据源的名称,最后代码数据源的列。

如前面是“I:

”,那代表常量,后面部分就是常量的值。

如前面是“S:

”,那代表系列号,后面代表系列号的一部分。

如前面是“F:

”,那代表的是函数,后面是函数。

“Span”,代表扩展情况。

扩展就是其它单元格的值是否依赖这个单元格的值;

“Arrange”代表是否排序;

“Color”代表是颜色,;

“Font”代表字体。

而这个单元格的ID是A1。

4.1.5生成电子表格流程图

图4-5生成电子表格算法流程图

该算法首先从Preferences中得到当前报表名,然后读取报表XML文件,得到数据源名称。

读取数据源XML,遍历得到数据源的各种参数。

用这些参数连接数据库。

用POI创建EXCEL文件。

把数据库中数据写入EXCEL文件。

4.1.6发布报表流程图

图4-6发布报表算法流程图

该算法首先从Preferences中查看发布目录,如有,就复制报表XML到发布目录,如没有,就设置。

然后就开始判断是否有相关文件,如有,就一同复制,因为不复制,就没有用。

4.1.7编辑CSS流程图

图4-7编辑CSS算法流程图

该算法首先从CSS模板中读出模板内容,并显示出来,提供用户修改。

修改完成后点确定,从Preferences得当前报表,然后生成报表的CSS文件,如已有相同的就覆盖。

最后把修改后的CSS写入报表文件。

4.1.8生成模板流程图

图4-8生成模板算法流程图

该算法首先设置要生成模板的模板名及说明。

然后生成模板文件,当然是CSS类型。

如模板说明不为空,也生成文件文件类型的说明书。

然后从Preferences中得到当前报表,由此得到当前报表的CSS文件,最后把这CSS文件的内容写入模板文件里。

4.1.9配置服务器流程图

图4-9配置服务器算法流程图

该算法首先读取服务器配置文件并显示各个参数,这可以修改。

点确定后,就把修改后值写入配置文件,并更新相关视图。

4.2系统编码实现

4.2.1系统的主界面实现

本系统采用EclipseRCP技术,也就是开发可以独立运行的Eclipse的插件。

运用RCP技术,可以实现与Eclipse一样友好的界面,可以方便地组装成一个很强大的系统,因为这是采用插件机制。

本系统的主界面如图4-1所示:

图4-1报表设计系统主界面图

由图4-1可以看到,本系统和Eclipse界面有很大的相似性。

本系统主要用到了包com.xautreportdesign.win。

其中各个类的功能及重要代码说明如下:

Application类:

是RCP程序的入口类,RCP程序启动后第一个执行就是它,它负责程序的载入与退出。

这个类是建立项目后自动生成的,平常情况不需要修改。

ApplicationWorkbenchAdvisor类:

是配置工作台的类,工作台的初始化就在这完成。

这个类是建立项目后自动生成的,可以修改成自己需要的。

这个类的部分代码如下:

ApplicationWorkbenchWindowAdvisor类:

用来设置窗口。

一个工作台可以有多个窗口,所以可以多个该类的对象。

下面代码说明了窗口大小为(700,550),有工具栏,窗口标题,显示状态栏,生成系统托盘等。

以下是该类的部分实现代码:

publicvoidpreWindowOpen(){

/**设置窗口初始化的各种属性*/

IWorkbenchWindowConfigurerconfigurer=getWindowConfigurer();

configurer.setInitialSize(newPoint(700,550));

configurer.setShowCoolBar(true);

configurer.setShowStatusLine(false);

configurer.setTitle("

报表生成系统"

);

configurer.setShowPerspectiveBar(true);

configurer.setShowStatusLine(true);

finalIWorkbenchWindowwindow=getWindowConfigurer().getWindow();

/**创建系统托盘*/

trayItem=initTrayItem(window);

/**如果支持系统托盘,则创建托盘的菜单*/

if(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1