專(zhuān)利名稱(chēng):報(bào)表智能化顯示系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種顯示系統(tǒng)及方法,尤其涉及一種報(bào)表智能化顯示系統(tǒng)及方法。
背景技術(shù):
為了及時(shí)、準(zhǔn)確地了解企業(yè)的生產(chǎn)經(jīng)營(yíng)信息(如財(cái)務(wù)狀況),企業(yè)必須組織大批財(cái) 務(wù)人員,花費(fèi)大量時(shí)間對(duì)應(yīng)付帳款報(bào)表和應(yīng)收帳款報(bào)表進(jìn)行編制。一方面,財(cái)務(wù)部門(mén)的高級(jí) 主管需要根據(jù)此類(lèi)報(bào)表做出判斷及決策;另一方面,供貨商也可獲得對(duì)應(yīng)付帳款的查詢(xún)服 務(wù)。因此,一個(gè)典型的報(bào)表生成系統(tǒng)不僅要求及時(shí)、準(zhǔn)確地自動(dòng)生成各種報(bào)表,而且要求充 分利用高速發(fā)展的通信技術(shù)來(lái)為客戶(hù)傳輸信息。但是,現(xiàn)有的報(bào)表生成系統(tǒng)無(wú)法做到根據(jù) 用戶(hù)的需求隨時(shí)變更報(bào)表的控制項(xiàng)屬性,如控制項(xiàng)類(lèi)型和控制項(xiàng)名稱(chēng)等。每次變更報(bào)表的 控制項(xiàng)屬性時(shí)都需要修改系統(tǒng)源代碼,維護(hù)成本高,可擴(kuò)展性差。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種報(bào)表智能化顯示系統(tǒng),其可自動(dòng)生成可視化報(bào)表, 并根據(jù)用戶(hù)的需求隨時(shí)調(diào)整可視化報(bào)表的控制項(xiàng)屬性。鑒于以上內(nèi)容,還有必要提供一種報(bào)表智能化顯示方法,其可自動(dòng)生成可視化報(bào) 表,并根據(jù)用戶(hù)的需求隨時(shí)調(diào)整可視化報(bào)表的控制項(xiàng)屬性。一種報(bào)表智能化顯示系統(tǒng),該系統(tǒng)包括讀取模塊,用于從存儲(chǔ)體中讀取XML文 檔;解析模塊,用于對(duì)讀取的XML文檔進(jìn)行解析,以獲取報(bào)表配置對(duì)象;預(yù)編譯模塊,用于對(duì) 上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件;填充模塊,用于將上述報(bào)表控件填充到 IDE控件中,以生成一個(gè)可視化報(bào)表。一種報(bào)表智能化顯示方法,該方法包括如下步驟從存儲(chǔ)體中讀取XML文檔;對(duì)讀 取的XML文檔進(jìn)行解析,以獲取報(bào)表配置對(duì)象;對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè) 報(bào)表控件;將上述報(bào)表控件填充到IDE控件中,以生成一個(gè)可視化報(bào)表。相較于現(xiàn)有技術(shù),所述的報(bào)表智能化顯示系統(tǒng)及方法,可以自動(dòng)生成可視化報(bào)表, 并根據(jù)用戶(hù)的需求隨時(shí)調(diào)整可視化報(bào)表的控制項(xiàng)屬性,提高了報(bào)表變更的靈活性,降低了 維護(hù)成本。
圖1是本發(fā)明報(bào)表智能化顯示系統(tǒng)較佳實(shí)施例的系統(tǒng)架構(gòu)圖。圖2是圖1中所示報(bào)表智能化顯示系統(tǒng)21的功能模塊圖。圖3是本發(fā)明報(bào)表智能化顯示方法較佳實(shí)施例的流程圖。主要元件符號(hào)說(shuō)明顯示設(shè)備1主機(jī)2打印裝置3輸入設(shè)備4存儲(chǔ)體20報(bào)表智能化顯示系統(tǒng)21XML文檔22中央處理器23讀取模塊210解析模塊211預(yù)編譯模塊212填充模塊213處理模塊21具體實(shí)施例方式如圖1所示,是本發(fā)明報(bào)表智能化顯示系統(tǒng)較佳實(shí)施例的系統(tǒng)架構(gòu)圖。該報(bào)表智 能化顯示系統(tǒng)21運(yùn)行于主機(jī)2中,所述主機(jī)2與顯示設(shè)備1、打印裝置3和輸入設(shè)備4相 連。該主機(jī)2包括存儲(chǔ)體20和中央處理器(Central Processing Unit,CPU) 23。所述存儲(chǔ)體20可以是主機(jī)2中的硬盤(pán)或內(nèi)存等,用于存儲(chǔ)XML(Extensible MarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)文檔22及各種報(bào)表中的數(shù)據(jù)。所述中央處理器23用 于控制報(bào)表智能化顯示系統(tǒng)21的執(zhí)行。所述主機(jī)2連接有顯示設(shè)備1,用于顯示報(bào)表智能化顯示系統(tǒng)21生成的可視化報(bào) 表等。所述輸入設(shè)備4可以是鍵盤(pán)和鼠標(biāo)等,用于進(jìn)行數(shù)據(jù)輸入。如圖2所示,是圖1中所示報(bào)表智能化顯示系統(tǒng)21的功能模塊圖。其中,該報(bào)表 智能化顯示系統(tǒng)21包括讀取模塊210、解析模塊211、預(yù)編譯模塊212、填充模塊213和處理 模塊214。本發(fā)明所稱(chēng)的模塊是完成一特定功能的計(jì)算機(jī)程序段,比程序更適合于描述軟件 在計(jì)算機(jī)中的執(zhí)行過(guò)程,因此在本發(fā)明以下對(duì)軟件描述都以模塊描述。所述讀取模塊2 1 0用于從存儲(chǔ)體20中讀取XML文檔22。所述解析模塊2 11用于對(duì)讀取的XML文檔22進(jìn)行解析,以獲取報(bào)表配置對(duì)象 (ReportConfiguration Object)。具體而言,解析模塊 211 通過(guò) XML 加載器(XML Loader), 將讀取的XML文檔22加載到主機(jī)2的內(nèi)存中,然后對(duì)該XML文檔22進(jìn)行解析,獲取該報(bào)表配置對(duì)象。所述預(yù)編譯模塊212用于對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件 (ReportControl) 0具體而言,預(yù)編譯模塊212通過(guò)自定義控制項(xiàng)(User Control),對(duì)上述 報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件,該報(bào)表控件為可視化控制項(xiàng)。所述填充模塊213用于將上述報(bào)表控件填充到IDE (Integrated DevelopmentEnvironment,集成開(kāi)發(fā)環(huán)境)控件中,以生成一個(gè)可視化報(bào)表。在本實(shí)施例 中,IDE控件是用于程序開(kāi)發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形 用戶(hù)界面工具。該程序可以獨(dú)立運(yùn)行,也可以和其它程序并用。用戶(hù)可以根據(jù)自身的需求隨時(shí)調(diào)整該可視化報(bào)表的控制項(xiàng)屬性,如控制項(xiàng)類(lèi)型和 控制項(xiàng)名稱(chēng)等。另外,當(dāng)用戶(hù)需要擴(kuò)展可視化報(bào)表的功能時(shí),可以將新增功能的代碼封裝為 組件,并定義組件的編寫(xiě)規(guī)范,確保組件能被調(diào)用。然后,利用.NET反射技術(shù)動(dòng)態(tài)調(diào)用該組 件,實(shí)現(xiàn)功能擴(kuò)展。在本實(shí)施例中,所述.NET反射技術(shù)架構(gòu)在.NET運(yùn)行(.NET Runtime) 框架下。所述處理模塊214用于利用.NET反射技術(shù),動(dòng)態(tài)調(diào)用上述可視化報(bào)表,以進(jìn)行報(bào) 表的導(dǎo)出、打印、顯示和存儲(chǔ)等。在本實(shí)施例中,處理模塊214通過(guò)自定義的報(bào)表數(shù)據(jù)導(dǎo)出接口,可以將上述可視 化報(bào)表中的數(shù)據(jù)按照PDF、PPT、WORD、EXCEL等檔案格式導(dǎo)出。具體而言,處理模塊214通 過(guò)將PDF、PPT、WORD、EXCEL等開(kāi)發(fā)組件整合在一起,并將其封裝為用戶(hù)控制項(xiàng),方便用戶(hù)選 擇導(dǎo)出格式,實(shí)現(xiàn)報(bào)表數(shù)據(jù)的導(dǎo)出。在本實(shí)施例中,處理模塊214通過(guò)自定義的打印接口,利用網(wǎng)絡(luò)瀏覽器打印控件 (WebBrowser Print Control),實(shí)現(xiàn)Web打印,同時(shí)可實(shí)現(xiàn)所見(jiàn)即所得的打印模式,并支持 頁(yè)面設(shè)置、分頁(yè)連續(xù)打印等功能。在本實(shí)施例中,處理模塊214通過(guò)自定義的圖形接口,利用0WC(0ffice WebComponents)圖表控制項(xiàng),并結(jié)合XML技術(shù),可以將上述可視化報(bào)表中的數(shù)據(jù)按照不同 圖表種類(lèi)導(dǎo)出,并支持立體圖形。所述圖表種類(lèi)包括柱形圖、折線(xiàn)圖、雷達(dá)圖和甘特圖等。在本實(shí)施例中,處理模塊214通過(guò)自定義的數(shù)據(jù)庫(kù)存儲(chǔ)接口,將上述可視化報(bào) 表中的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)體20中。在本實(shí)施例中,所述存儲(chǔ)體20可以采用不同的數(shù)據(jù)庫(kù) 存儲(chǔ),例如 SQLServer,Oracle,DB2 和 My SQL 等。通過(guò)采用 ADO. NET JDBC(Java Data BaseConnectivity)和 COM (Component Object Model)組件,結(jié)合 XML 技術(shù)和自定義的數(shù)據(jù) 庫(kù)存儲(chǔ)接口,可以設(shè)置數(shù)據(jù)庫(kù)切換的配置文件,實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間的切換。當(dāng)用戶(hù)需要變 更存儲(chǔ)的數(shù)據(jù)庫(kù)時(shí),只需修改該配置文件即可,無(wú)需修改源代碼。在其它實(shí)施例中,可以利用COM組件,將該報(bào)表智能化顯示系統(tǒng)21封裝為二進(jìn)制 代碼,從而使該系統(tǒng)21可用于不同的Web軟件開(kāi)發(fā)平臺(tái)(如ASP、ASP. NET、JAVA和PHP), 并可快速移植到不同操作系統(tǒng)平臺(tái)。如圖3所示,是本發(fā)明報(bào)表智能化顯示方法較佳實(shí)施例的流程圖。步驟Si,讀取模塊210從存儲(chǔ)體20中讀取XML文檔22。步驟S2,解析模塊211對(duì)讀取的XML文檔22進(jìn)行解析,以獲取報(bào)表配置對(duì)象 (ReportConfiguration Object)。具體而言,解析模塊 211 通過(guò) XML 加載器(XML Loader), 將讀取的XML文檔22加載到主機(jī)2的內(nèi)存中,然后對(duì)該XML文檔22進(jìn)行解析,獲取該報(bào)表配置對(duì)象。步驟S3,預(yù)編譯模塊212對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件 (ReportControl) 0具體而言,預(yù)編譯模塊212通過(guò)自定義控制項(xiàng)(User Control),對(duì)上述 報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件,該報(bào)表控件為可視化控制項(xiàng)。步驟S4,填充模塊213將上述報(bào)表控件填充到IDE (Integrated DevelopmentEnvironment,集成開(kāi)發(fā)環(huán)境)控件中,以生成一個(gè)可視化報(bào)表。在本實(shí)施例 中,IDE控件是用于程序開(kāi)發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形 用戶(hù)界面工具。該程序可以獨(dú)立運(yùn)行,也可以和其它程序并用。用戶(hù)可以根據(jù)自身的需求隨時(shí)調(diào)整該可視化報(bào)表的控制項(xiàng)屬性,如控制項(xiàng)類(lèi)型和 控制項(xiàng)名稱(chēng)等。另外,當(dāng)用戶(hù)需要擴(kuò)展可視化報(bào)表的功能時(shí),可以將新增功能的代碼封裝為 組件,并定義組件的編寫(xiě)規(guī)范,確保組件能被調(diào)用。然后,利用.NET反射技術(shù)動(dòng)態(tài)調(diào)用該組 件,實(shí)現(xiàn)功能擴(kuò)展。在本實(shí)施例中,所述.NET反射技術(shù)架構(gòu)在.NET運(yùn)行(.NET Runtime) 框架下。步驟S5,處理模塊214用于利用.NET反射技術(shù),動(dòng)態(tài)調(diào)用上述可視化報(bào)表,以進(jìn)行 報(bào)表的導(dǎo)出、打印、顯示和存儲(chǔ)等。具體描述參見(jiàn)圖2中關(guān)于處理模塊214功能的說(shuō)明。最后應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照 較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的 技術(shù)方案進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種報(bào)表智能化顯示方法,其特征在于,該方法包括如下步驟 從存儲(chǔ)體中讀取XML文檔;對(duì)讀取的XML文檔進(jìn)行解析,以獲取報(bào)表配置對(duì)象; 對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件;及 將上述報(bào)表控件填充到IDE控件中,以生成一個(gè)可視化報(bào)表。
2.如權(quán)利要求1所述的報(bào)表智能化顯示方法,其特征在于,該方法還包括步驟利用.NET反射技術(shù),動(dòng)態(tài)調(diào)用上述可視化報(bào)表,以進(jìn)行報(bào)表的導(dǎo)出、打印、顯示和存儲(chǔ)。
3.如權(quán)利要求1所述的報(bào)表智能化顯示方法,其特征在于,所述對(duì)讀取的XML文檔進(jìn)行 解析,以獲取報(bào)表配置對(duì)象的步驟包括通過(guò)XML加載器,將讀取的XML文檔加載到內(nèi)存中,然后對(duì)該XML文檔進(jìn)行解析,獲取 該報(bào)表配置對(duì)象。
4.如權(quán)利要求1所述的報(bào)表智能化顯示方法,其特征在于,所述IDE控件是用于程序開(kāi) 發(fā)環(huán)境的應(yīng)用程序,包括代碼編輯器、編譯器、調(diào)試器和圖形用戶(hù)界面工具。
5.如權(quán)利要求1所述的報(bào)表智能化顯示方法,其特征在于,該方法還包括步驟當(dāng)需要在可視化報(bào)表中新增功能時(shí),將新增功能的代碼封裝為組件,并定義組件的編 寫(xiě)規(guī)范,然后利用.NET反射技術(shù)動(dòng)態(tài)調(diào)用該組件,實(shí)現(xiàn)功能擴(kuò)展。
6.一種報(bào)表智能化顯示系統(tǒng),其特征在于,該系統(tǒng)包括 讀取模塊,用于從存儲(chǔ)體中讀取XML文檔;解析模塊,用于對(duì)讀取的XML文檔進(jìn)行解析,以獲取報(bào)表配置對(duì)象; 預(yù)編譯模塊,用于對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件;及 填充模塊,用于將上述報(bào)表控件填充到IDE控件中,以生成一個(gè)可視化報(bào)表。
7.如權(quán)利要求6所述的報(bào)表智能化顯示系統(tǒng),其特征在于,該系統(tǒng)還包括處理模塊,用 于利用.NET反射技術(shù),動(dòng)態(tài)調(diào)用上述可視化報(bào)表,以進(jìn)行報(bào)表的導(dǎo)出、打印、顯示和存儲(chǔ)。
8.如權(quán)利要求7所述的報(bào)表智能化顯示系統(tǒng),其特征在于,所述處理模塊進(jìn)行報(bào)表的 打印包括通過(guò)自定義的打印接口,利用網(wǎng)絡(luò)瀏覽器打印控件,進(jìn)行Web打印。
9.如權(quán)利要求7所述的報(bào)表智能化顯示系統(tǒng),其特征在于,所述處理模塊進(jìn)行報(bào)表的 顯示包括通過(guò)自定義的圖形接口,利用OWC圖表控制項(xiàng),并結(jié)合XML技術(shù),將可視化報(bào)表中 的數(shù)據(jù)按照不同圖表種類(lèi)導(dǎo)出。
10.如權(quán)利要求9所述的報(bào)表智能化顯示系統(tǒng),其特征在于,所述圖表種類(lèi)包括柱形 圖、折線(xiàn)圖、雷達(dá)圖和甘特圖。
全文摘要
一種報(bào)表智能化顯示方法,該方法包括如下步驟從存儲(chǔ)體中讀取XML文檔;對(duì)讀取的XML文檔進(jìn)行解析,以獲取報(bào)表配置對(duì)象;對(duì)上述報(bào)表配置對(duì)象進(jìn)行預(yù)編譯,生成一個(gè)報(bào)表控件;將上述報(bào)表控件填充到IDE控件中,以生成一個(gè)可視化報(bào)表。利用本發(fā)明可以自動(dòng)生成可視化報(bào)表。
文檔編號(hào)G06F9/44GK102109990SQ20091031262
公開(kāi)日2011年6月29日 申請(qǐng)日期2009年12月29日 優(yōu)先權(quán)日2009年12月29日
發(fā)明者宋勇華, 李亞權(quán), 李育杰, 王志麒 申請(qǐng)人:捷達(dá)世軟件(深圳)有限公司, 鴻海精密工業(yè)股份有限公司