資源描述:
《基于xml通用數(shù)據報表系統(tǒng)設計實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、-基于XML通用數(shù)據報表系統(tǒng)的設計與實現(xiàn)一關于通用數(shù)據報表§1.1什么是報表報表是辦公自動化及管理信息系統(tǒng)中信息處理和交互的主要手段之一。報表是人們歸納性地觀察世界的最常用的一種手段。報表資源其實是辦公資源重要組成部分,也是各級領導經營決策的有力保障。企業(yè)間信息交互頻度的增加和人們對信息的總體把握程度的提高,要求報表能夠實現(xiàn)多層次多方位的數(shù)據采集、匯總、挖掘、抽取以及多種格式的輸出,辦公自動化程度的深人也要求報表的設計要便于操作、維護簡便?!?.2如何用XML描述數(shù)據報表1.2.1XML描述通用報表的基本思想描述
2、通用報表,需要考慮以下幾個方面:1)報表框架信息。XML描述文件要能夠實現(xiàn)對任意結構的報表描述,且對已制作的報表允許用戶任意修改,同時能根據用戶的需求方便地控制報表的輸出格式。2)報表數(shù)據信息。根據XML描述的數(shù)據信息,系統(tǒng)能實現(xiàn)報表數(shù)據的生成與分析功能。用戶根據實際業(yè)務情況,輸入已知數(shù)據、描述或定義未知數(shù)據的產生方法,系統(tǒng)據此自動計算產生數(shù)據,并能實現(xiàn)數(shù)據的綜合查詢和統(tǒng)計功能。3)報表的審核信息。這部分的信息用來確保報表數(shù)據的準確度。報表的框架信息是描述報表外觀結構的。報表在表現(xiàn)形式上千差萬別,尤其是中國式的報
3、表,包含了復雜的表頭和特殊的表格線、小計、合計等格式,這種不規(guī)則的信息很難用普通的數(shù)據結構表現(xiàn)出來。但是復雜的報表都可以看成一些簡單表的拼接,比如一個復雜的報表可以分解成標題、表頭、表體、表尾四個部分,同時簡單表又都可以由單元格堆砌而成。利用單元格堆砌出來的報表具有編輯的單元性,因此可以對每個單元格獨立地定義其單元格大小、顯示邊界、邊界特性、單元格背景色、前景色、字體特性等屬性,從而可以描述出理想的報表框架信息,其適應性更廣。本文對報表框架信息的描述就是采用這種單元格堆砌的思想。1.2.2XML描述通用報表的幾個
4、要點1)單元格的分組描述,通常,不同報表的表頭、表尾在布局上大同小異,但表體相差較大。在單元格堆砌時,將單元格按表頭、表體、表尾分組描述不僅結構清楚、降低描述的復雜度,而且還能方便地設計表頭、表尾的描述模板,減少報表設計人員的工作量。2)避免單元格的嵌套描述,這樣能減弱XML描述文檔結構的復雜度,有利于應用程序對XML文件的修改和解析。.---3)明確標志單元格的相對位置,單元格的相對位置在單元格堆砌報表描述中非常關鍵,我們用“組——行——列”的層次包含關系描述報表框架信息,用單元格在該單元格組中的相對行號和列號
5、標志單元格的相對位置。4)定義單元格寬度和高度的基準。我們把任何單元格組的第0行、第0列定義為沒有任何擴展的(該行單元格數(shù)目在全部行中最多,列也是一樣)冗余單元格,這些單元格用來定義寬度和高度(第0行高度為0,第0列寬度為0),其它單元格的高度或寬度默認以這些單元格為基準,是這些單元格高度或寬度的組合。以一個基準來定義單元格的高度和寬度,使得定義準確、描述簡單,能使得單元格的顯示效果嚴格對齊。5)設定默認值或者冗余項,以減少XML文件的大小。單元格堆砌中,由于單元格有很多共性,比如表頭表尾數(shù)據基本上都是字符串,表
6、體的數(shù)據大多都是數(shù)字類型、右對齊、字體屬性基本相同等,如果每個單元格都描述這些屬性,Xb比文件就顯得冗余。我們可以在單元格組中定義一些默認值來解擇單元格中不定義但又必要的屬性。同時可以添加冗余項以減小描述文件的大小,如上述定義單元格寬度和高度的基準的思想。報表的數(shù)據信息不僅包括要錄入報表的原始數(shù)據、報表的固定參數(shù),還包括從別的報表傳遞進來的數(shù)據以及通過表內或表間相關數(shù)據的計算而得到的數(shù)據。有些數(shù)據提供的是報表的基本信息或者是供用戶填報時的參考信息,這些數(shù)據不需要入庫,而需要入庫的數(shù)據不僅是那些填報的原始數(shù)據或者是
7、計算出來的數(shù)據,甚至于從別的報表讀取的數(shù)據也需要入庫。因而對這些數(shù)據進行合理的分類對報表的描述是非常必要的。這些數(shù)據都涉及兩個屬性:數(shù)據來源和需要入庫情況。需要入庫情況只分為入庫和不入庫兩種;而數(shù)據來源可以有多種分法,比如是靜態(tài)的數(shù)據(直接填報而不需要進一步處理的數(shù)據)還是表達式運算的數(shù)據,是直接錄入的數(shù)據還是從別的數(shù)據源查詢的數(shù)據等。本文對數(shù)據來源以需要手工填報還是系統(tǒng)自動填報來分類,從每種類別的數(shù)據抽象出一些共同的屬性,這些屬性的組合就可以涵蓋報表需要處理的所有數(shù)據類別。使用圖例說明如下圖1所示:取值類型單元
8、格信息單元格信息表達式信息數(shù)據類型表達式元素信息值表達式手工錄入自動錄入查詢條件①②③入庫不入庫字段信息圖1通用報表數(shù)據分類描述示意圖.---一般來說,手工輸入而不入庫的數(shù)據往往是在身份驗證等情況下使用,在報表中這種數(shù)據比較少用,我們暫時忽略。圖1中①類數(shù)據用的最多,它是報表原始數(shù)據的主要來源,②類數(shù)據往往是用戶填報時的參考數(shù)據(比如用戶填報或查詢報表時需要使用顯示的對應