999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于.NET模式的WEB報表服務中報表格式轉換的設計與實現

2010-08-23 08:33:36倪問尹陳順平
制造業自動化 2010年7期
關鍵詞:規則

倪問尹,陳順平,尹 鋒

NI Wen-yin, CHEN Shun-ping, YIN Feng

(長沙大學,長沙 410003)

0 引言

報表是用表格、圖表等格式來動態顯示數據的一種方式,即指定數據以指定運算方法得出結果后,以指定樣式在指定頁面上的特殊表現形式。目前,Web報表已成為報表發展的一個主流方向[1]。目前國內外主流Web報表產品,如水晶報表(Crystal Report)、Style Report、Brio、MSTR、和勤報表、用友華表等,其基本思路都是利用特定文件格式生成報表,通用性、兼容性較弱。應此,格式轉換的設計與實現成為通用WEB報表服務的基礎,也是解決開放式架構和系統集成的核心問題。

本系統基于.NET平臺開發,根據用戶自定義在服務器端實現報表格式自動轉換,將報表XML表現后利用服務器端的組件解析生成HTML文檔,利用XML本身強大的可擴展性、可復用性和自解釋性實現通用的WEB報表服務[3~5]。系統采用.NET Framework用于生成、部署、運行 XML Web Services 和應用程序,使用SQL數據庫實現數據存儲,使用 C#語言進行程序編輯,具備在線定制與在線運行功能。

1 本系統中報表文件定義

1.1 報表模型

影響報表樣式變化的因素有應用領域、用戶需求和個人愛好等,其最終都可以歸結為以下幾種報表模型的組合:列表、分組報表、嵌套報表、交叉報表、圖形報表等。

1.2 報表結構

常見的報表的結構布局為表頭(Report Header)、表尾(Report Footer)、頁眉(Page Header)、頁腳(Page Header)、分組(Group)、主體(Detail)、合計(Summary)等。

1.3 報表元素

按照報表元素的層次,組成報表的元素可分成報表根元素、容器元素和實體元素三種。

2 規則映射

從報表對象到格式報表文件之間就是一個規則映射過程[6,7]。其主要思路是:將從應用程序中導入的應用對象與從規則庫中導入的規則子集進行匹配,按匹配成功的規則執行動作,將結果輸出給應用程序。基于基本映射技術實現的系統稱作規則引擎,即根據規則中包含的指定過濾條件,判斷能否匹配運行時刻的實時條件來執行規則中所規定的動作。四個基本要素是:信息元Information Unit(包含特定事件所有信息的對象,如信息元類型、相關規則集、通用屬性及相關信息等[8])、信息服務Information Services、規則集Rule Se、隊列管理器Queue Manager(管理來自不同信息服務的信息元對象)。其實現如圖1所示。

圖1 規則映射技術的實現

3 報表格式轉換的實現

3.1 TXT報表格式的描述

設計報表類TxtReport封裝報表的屬性和對報表的操作,通過該報表對象實現對報表的訪問、修改、發布等操作,并封裝對象序列化的過程。將設計的報表保存為.txt格式的報表定義文件的過程,即報表對象序列化的過程[9]。其UML圖如圖2所示。

圖2 報表類TxtReport的UML圖

其中,主要屬性包括:ReportName(報表名稱)、PageWidth(報表頁寬度)、PageHeight(報表頁高度)等。

主要操作方法包括:CreatNewReport()創建一個空的報表、SaveToFile()保存當前報表、DeplayReport(path:string)將當前報表發布到指定目錄path中等。

將所有報表實體元素的共同屬性和操作方法抽象出來,構造一個報表元素基類TxtObject。各種具體的報表實體元素類繼承自TxtObject,擁有獨特屬性,并且重寫了三個重要函數:

1)Draw():在報表設計界面上畫出該報表元素;

2)LoadFromStream(Stream:TStream):加載序列化后的報表實體元素對象;

3)SaveToStream(Stream:TStream):保存該報表實體元素對象,即序列化。

TxtObject類的UML圖如圖3所示,每個報表元素類中都封裝了對象序列化的過程(子類的UML圖略)。

圖3 TxtObject類的UML圖

3.2 XML報表格式的描述

1)根元素<MsReport attribute=”value”></MsReport>

報表定義文件中的根元素,用MsReport標識,每個報表定義文件中有且只有一個根元素。其中attribute表示屬性名,value表示屬性值。

2)容器元素

區域是報表的重要組成部分,一個完全的報表包括若干個區域,每個區域可作為報表的一個容器元素,包括表頭、分組、報表主體、總結等幾個區域[10]。

3)實體元素

用標識rectangle、staticText、textField、chart等來表示報表實體元素。

3.3 格式轉換的實現

針對兩種格式的報表(ILASSⅡ中底層數據.txt格式的報表和 WEB發布時通用的.xml格式報表) 定義映射規則以實現這兩種報表格式之間的轉換[11]。使用DOM技術,對.XML格式的報表定義文件在內存中構造DOM樹,從樹根開始,深度遍歷每個結點,根據結點的屬性逆向構造報表對象和報表中的每一個實體元素。當整個DOM樹遍歷完成后,也就構造了整個報表對象,然后將逆向構造成的報表對象序列化得到.TXT格式的報表文件。

假設txt文件中有以下字段:Name:***Version:*.*.* Size:10 M Repo:installed Summary:5 - Beta Description:********。在通用WEB報表服務中轉換為xml格式過程如下:

4 結束語

本文設計實現的通用WEB報表服務系統中報表格式的轉換,主要是針對目前WEB報表存在的問題,基于.NET平臺的體系結構和技術特點開發,實現了其它報表系統不支持的在線定制報表的功能。通過規則映射實現的報表通用化,即解決了不同報表格式的轉換,避免了因環境改變而不得不重新開發報表的問題,同時這種轉換具有很強的可擴展性,只需將映射規則在規則庫中擴展并修改報表格式轉換模塊的接口,便可以實現更多格式報表的定制與解析。

[1]陳明.分布計算應用模型[M].北京:科學出版社,2009.04:219-220.

[2]張有明,張科,高赟.基于Access的信息管理系統開發實踐[J].電化教育研究,2007(02):65-68.

[3]Lawrence, Racoon.The space efficiency of XML.Information and Software Technology,2004,46.

[4]Kristensen,Anders.Formsheets and the XML forms language.Computer Networks,1999,31.

[5]Michalis Petropoulos, Yannis Papakonstantinou, Vasilis Vassalos.Building XML query forms and reports with XQForms.Computer Networks,2002,39.

[6]王李軍,陶明亮,張曙,莫琪葉.面向業務規則引擎研究[J].軟件技術與數據庫,2007(24):65-68.

[7]彭磊.規則引擎原理分析[J].福建電腦,2007(9):42-45

[8]蔡文,楊春燕.面向業務規則引擎研究[J].智能系統學報,20094(3):234-238.

[9]李佳,付強,丁寧,等.C#開發技術大全 [M].北京:清華大學出版社,2009:538-540.

[10]張文啟.基于AJAX的可復用Web報表系統的設計及實現[D].中山大學,2009:12-13.

[11]郭昕,武娟.基于C#語音的EPSW與CASS數據格式轉換[J].北京測繪,2009(4):78-84.

猜你喜歡
規則
拼寫規則歌
撐竿跳規則的制定
數獨的規則和演變
依據規則的推理
法律方法(2019年3期)2019-09-11 06:26:16
善用首次銷售規則
中國外匯(2019年7期)2019-07-13 05:44:52
規則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
顛覆傳統規則
環球飛行(2018年7期)2018-06-27 07:26:14
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
啦啦操2010—2013版與2013—2016版規則的對比分析
運動(2016年6期)2016-12-01 06:33:42
主站蜘蛛池模板: 人人爱天天做夜夜爽| 欧美不卡视频一区发布| 国产一区二区免费播放| 国产性生交xxxxx免费| 波多野结衣中文字幕久久| 日韩麻豆小视频| 另类欧美日韩| www.91中文字幕| 欧美综合成人| 精品国产自在现线看久久| 亚洲色图欧美激情| 大乳丰满人妻中文字幕日本| 欧美日韩中文国产va另类| 欧美精品在线视频观看| 麻豆精品视频在线原创| 精品1区2区3区| 亚洲系列中文字幕一区二区| 国产精品亚洲一区二区在线观看| 情侣午夜国产在线一区无码| 色天堂无毒不卡| 日韩av无码精品专区| 亚洲无码不卡网| 黄色网在线免费观看| 日韩精品欧美国产在线| 亚洲国产系列| 伊人蕉久影院| 999国产精品| 天天躁夜夜躁狠狠躁躁88| 国产毛片基地| 在线视频一区二区三区不卡| 亚洲伦理一区二区| 无码福利视频| 亚洲黄色高清| 99国产精品国产高清一区二区| 国产欧美日韩va另类在线播放 | 97se亚洲综合在线| 亚洲日本韩在线观看| 中文字幕伦视频| 91年精品国产福利线观看久久| 亚洲欧美日韩中文字幕在线| 精品一区二区三区水蜜桃| 欧美在线网| 午夜视频在线观看免费网站| 88国产经典欧美一区二区三区| 亚洲三级视频在线观看| 九九视频免费看| 欧美特黄一级大黄录像| 成人免费视频一区二区三区| 国产成人一区在线播放| 日本人妻丰满熟妇区| 欧美精品成人一区二区在线观看| 免费毛片网站在线观看| 国产SUV精品一区二区6| 国产视频a| 午夜福利亚洲精品| 国产99欧美精品久久精品久久| 国产欧美日韩在线一区| 国产精品亚洲片在线va| 国产精品美女网站| 欧美日韩午夜| 99视频免费观看| 国产成人无码播放| 漂亮人妻被中出中文字幕久久| 九九热在线视频| 国产毛片不卡| а∨天堂一区中文字幕| 国产精品区视频中文字幕| 日本手机在线视频| 成人在线观看一区| 在线日本国产成人免费的| 亚洲精品无码AV电影在线播放| 亚洲欧美日韩成人在线| 欧美午夜小视频| 免费aa毛片| 成人在线欧美| 99re精彩视频| 热久久这里是精品6免费观看| 国产成人成人一区二区| 波多野结衣一区二区三区88| 亚洲国产成人自拍| 亚洲国产综合精品中文第一| 精品無碼一區在線觀看 |