亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng)的制作方法

文檔序號(hào):6602741閱讀:155來(lái)源:國(guó)知局

專利名稱::一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域技術(shù),特別涉及一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng)。
背景技術(shù)
:目前,大多數(shù)的報(bào)表系統(tǒng)的設(shè)計(jì)和顯示都采用微軟的SQLServer(StructuredQueryLanguageServer,結(jié)構(gòu)化查詢語(yǔ)言服務(wù)器),但其不能應(yīng)用于全刀片環(huán)境。由于OMMP(OperatingMaintenanceandManagementPlatform,MS5F^)U^tWINDOWS環(huán)境下部置,也可以在SUSE環(huán)境下部署,因此,與之結(jié)合的zxR印ort報(bào)表設(shè)計(jì)工具被普遍使用。但是,目前ZXR印ort報(bào)表設(shè)計(jì)工具只支持設(shè)計(jì)簡(jiǎn)單矩陣報(bào)表的功能,而對(duì)于設(shè)計(jì)復(fù)雜報(bào)表,則需要借助數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。如圖1所示,為一個(gè)復(fù)雜報(bào)表,在數(shù)據(jù)庫(kù)中要預(yù)先計(jì)算出單元格的位置,即該報(bào)表中的一個(gè)單元格101從第0行開(kāi)始到第1行結(jié)束,從第0列開(kāi)始到第4列結(jié)束,然后計(jì)算對(duì)應(yīng)于(0,1)行,(0,4)列這一單元格的數(shù)據(jù),并將計(jì)算后的數(shù)據(jù)存儲(chǔ)在該單元格對(duì)應(yīng)的存儲(chǔ)區(qū)域中,再插入接口表。如圖2所示,為生成復(fù)雜報(bào)表而設(shè)計(jì)的接口表結(jié)構(gòu),該表包括五個(gè)字段,該五個(gè)字段中的內(nèi)容確定了報(bào)表中固定一個(gè)單元格所需要的全部信息。該五個(gè)字段為開(kāi)始行號(hào),結(jié)束行號(hào),開(kāi)始列號(hào),結(jié)束列號(hào),單元格顯示內(nèi)容。只要在數(shù)據(jù)庫(kù)中將復(fù)雜報(bào)表中所有的單元格信息都填到這個(gè)臨時(shí)表中,zxReport報(bào)表設(shè)計(jì)工具就可以利用這些信息,生成復(fù)雜報(bào)表。然而,現(xiàn)有技術(shù)中,每計(jì)算一條數(shù)據(jù)后執(zhí)行數(shù)據(jù)插入操作,這樣就會(huì)占用大量的SYBASEIQ數(shù)據(jù)庫(kù)空間,在插入數(shù)據(jù)量較大時(shí),甚至?xí)?yán)重耗損數(shù)據(jù)庫(kù)的性能,甚至使數(shù)據(jù)庫(kù)宕機(jī)。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng),可以節(jié)省數(shù)據(jù)庫(kù)空間,提高數(shù)據(jù)庫(kù)的處理效率。本發(fā)明實(shí)施例提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法,該方法包括根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表。本發(fā)明實(shí)施例提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的裝置,包括獲取模塊,用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);寫入模塊,用于將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;處理模塊,用于根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;生成模塊,用于根據(jù)所述接口表生成復(fù)雜報(bào)表。本發(fā)明實(shí)施例提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的系統(tǒng),包括數(shù)據(jù)庫(kù)和用戶終端;所述數(shù)據(jù)庫(kù),用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表;所述用戶終端,用于設(shè)置生成復(fù)雜報(bào)表需要的數(shù)據(jù)。本發(fā)明實(shí)施例提供的基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng),用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表。本發(fā)明實(shí)施例提供的基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng),可以有效的節(jié)省數(shù)據(jù)庫(kù)空間,提高數(shù)據(jù)庫(kù)的處理效率。圖1為復(fù)雜報(bào)表示意圖;圖2為現(xiàn)有技術(shù)中接口表示意圖;圖3為本發(fā)明實(shí)施例中基于數(shù)據(jù)庫(kù)生成報(bào)表的環(huán)境部署示意圖;圖4為本發(fā)明實(shí)施例中基于數(shù)據(jù)庫(kù)生成報(bào)表的方法流程示意圖;圖5為本發(fā)明實(shí)施例中基于數(shù)據(jù)庫(kù)生成報(bào)表的方法流程示意圖;圖6為本發(fā)明實(shí)施例中基于數(shù)據(jù)庫(kù)生成報(bào)表的裝置示意圖;圖7為本發(fā)明實(shí)施例中基于數(shù)據(jù)庫(kù)生成報(bào)表的系統(tǒng)示意圖。具體實(shí)施例方式下面結(jié)合各個(gè)附圖對(duì)本發(fā)明實(shí)施例技術(shù)方案的主要實(shí)現(xiàn)原理具體實(shí)施方式及其對(duì)應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)地闡述。如圖3所示,為基于數(shù)據(jù)庫(kù)生成報(bào)表的環(huán)境部署圖,該環(huán)境可以兼容Windows運(yùn)行環(huán)境和SUSE運(yùn)行環(huán)境,包括用戶終端、報(bào)表定義庫(kù),0MM庫(kù),0MMP,報(bào)表生產(chǎn)庫(kù)。其中,用戶終端用于運(yùn)行zxR印ort報(bào)表設(shè)計(jì)工具;報(bào)表定義庫(kù)用于保存由zxR印ort報(bào)表設(shè)計(jì)工具生成的各種腳本文件,例如報(bào)表標(biāo)題,報(bào)表參數(shù),報(bào)表定義項(xiàng)等,這些腳本文件主要由zxR印ort報(bào)表設(shè)計(jì)工具通過(guò)調(diào)用報(bào)表生產(chǎn)庫(kù)中存儲(chǔ)的各種數(shù)據(jù)生成的;0MM庫(kù)用于和報(bào)表定義庫(kù)一起進(jìn)行設(shè)置,連接0MMP和zxR印ort報(bào)表設(shè)計(jì)工具;0MMP用于為zxR印ort報(bào)表設(shè)計(jì)工具開(kāi)發(fā)的報(bào)表進(jìn)行顯示的平臺(tái);報(bào)表生產(chǎn)庫(kù)用于存儲(chǔ)報(bào)表定義庫(kù)所需的表,視圖,存儲(chǔ)過(guò)程,數(shù)據(jù)等。使用ZXR印ort報(bào)表設(shè)計(jì)工具和0MMP制作報(bào)表的周期可以分為設(shè)計(jì)期、版本制作期、運(yùn)行期。其中,設(shè)計(jì)期用于利用zxR印ort報(bào)表設(shè)計(jì)工具按照一定的需求開(kāi)發(fā)報(bào)表,將生成的報(bào)表規(guī)則保存在設(shè)計(jì)期的報(bào)表定義庫(kù)中;設(shè)計(jì)期的工作是報(bào)表制作中最重要的階段,本發(fā)明實(shí)施例提供的方法主要應(yīng)用于設(shè)計(jì)期;版本制作期用于利用zxR印ort報(bào)表設(shè)計(jì)工具提供的導(dǎo)出功能將報(bào)表規(guī)則導(dǎo)出為腳本文件,生成報(bào)表的版本;運(yùn)行期用于將腳本文件部署到0MMP的數(shù)據(jù)庫(kù),0MMP中的報(bào)表展現(xiàn)引擎解析報(bào)表規(guī)則數(shù)據(jù),根據(jù)規(guī)則到報(bào)表生產(chǎn)庫(kù)中進(jìn)行查詢統(tǒng)計(jì)操作,生成最終用戶可以看到的報(bào)表頁(yè)面。本發(fā)明實(shí)施例提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的的方法,如圖4所示,該方法包括以下步驟步驟401、根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);具體的,數(shù)據(jù)庫(kù)與用戶終端連接后,數(shù)據(jù)庫(kù)根據(jù)用戶終端的設(shè)置,搜索并獲取生成復(fù)雜報(bào)表的需要的數(shù)據(jù),一般情況下,該數(shù)據(jù)包括單元格的顯示內(nèi)容、單元格占用的行列數(shù)等,當(dāng)然根據(jù)實(shí)際的需要,用戶終端還可以設(shè)置其它參數(shù)以獲取其它數(shù)據(jù)。其中,該用戶終端可以通過(guò)調(diào)用程序語(yǔ)句、配置參數(shù)等方式實(shí)現(xiàn)設(shè)置。步驟402、將上述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;具體的,將獲取的數(shù)據(jù)按照字段類型寫入第一虛擬表中的相應(yīng)位置,例如該第一虛擬表的結(jié)構(gòu)為Createtabletempi(1數(shù)據(jù)type//文字信息類型,2數(shù)據(jù)type//數(shù)值類型,3數(shù)據(jù)type//數(shù)值類型,4數(shù)據(jù)type//數(shù)值類型,5數(shù)據(jù)type//數(shù)值類型......)其中,將獲取的數(shù)據(jù)按照其類型寫入第一虛擬表中,然后將其中用戶設(shè)定的行數(shù)據(jù)寫入第二虛擬表,用戶設(shè)定的列數(shù)據(jù)寫入第三虛擬表。當(dāng)然,將第一虛擬表中數(shù)據(jù)寫入第二虛擬表和第三虛擬表時(shí),也可以檢測(cè)寫入的數(shù)據(jù)攜帶的標(biāo)識(shí)字段,將第一虛擬表中帶有行標(biāo)識(shí)字段的數(shù)據(jù)的相關(guān)信息寫入第二虛擬表,帶有列標(biāo)識(shí)字段的數(shù)據(jù)的相關(guān)信息寫入第三虛擬表,該相關(guān)信息可以包括該單元格所占的行列數(shù)等信息。該行標(biāo)識(shí)字段和列標(biāo)識(shí)字段可以由用戶終端預(yù)先進(jìn)行設(shè)置,第二虛擬表和第三虛擬表的結(jié)構(gòu)定義方式可以與第一虛擬表類似。步驟403、根據(jù)虛擬表的行號(hào),確定復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;具體的,用戶終端將復(fù)雜報(bào)表中左上角的單元格設(shè)置為第一單元格,并規(guī)定其起始行列號(hào)和結(jié)束行列號(hào),如起始行列號(hào)為(0,0)、結(jié)束行列號(hào)為(1,4)。根據(jù)第一單元格的結(jié)束行號(hào)、結(jié)束列號(hào)和第二虛擬表的行號(hào)、第三虛擬表的行號(hào),確定其余單元格的起始行號(hào)和結(jié)束行號(hào)、起始列號(hào)和結(jié)束列號(hào)。這樣,根據(jù)單元格所在的行列號(hào)就可以確定單元格的位置。然后,根據(jù)單元格所在的行列號(hào)以及行列號(hào)與顯示內(nèi)容的預(yù)置對(duì)應(yīng)關(guān)系,在第一虛擬表中獲取該單元格中用于顯示內(nèi)容的數(shù)據(jù)??梢苑侄啻螌⑸鲜鲂畔懭霐?shù)據(jù)庫(kù)中的接口表,例如,第一次寫入復(fù)雜報(bào)表中單元格的總行列數(shù)、總單元格數(shù)等整體信息,由于根據(jù)第二虛擬表和第三虛擬表的行號(hào)可以直接確定復(fù)雜報(bào)表的總行數(shù)和總列數(shù),而總單元格數(shù)需要確定每個(gè)單元格的位置后才能確定,因此,此處寫入的總單元格數(shù)可以為一個(gè)任意值;第二次再寫入各個(gè)單元格的位置信息和顯示內(nèi)容以及準(zhǔn)確的總單元格數(shù)等。步驟404、根據(jù)接口表生成復(fù)雜報(bào)表。具體的,使用zxR印ort報(bào)表設(shè)計(jì)工具調(diào)用該接口表,生成復(fù)雜報(bào)表模型的腳本文件,并保存到報(bào)表定義庫(kù)中,以便通過(guò)調(diào)用該腳本文件生成復(fù)雜報(bào)表。從以上的描述中,可以看出通過(guò)本發(fā)明實(shí)施例提供的方法,通過(guò)將復(fù)雜報(bào)表的數(shù)據(jù)存儲(chǔ)在虛擬報(bào)表中,然后通過(guò)虛擬報(bào)表的行號(hào)確定各個(gè)單元格的位置,進(jìn)而確定各個(gè)單元格中顯示的內(nèi)容,再寫入數(shù)據(jù)庫(kù)中的接口表?,F(xiàn)有技術(shù)需要經(jīng)過(guò)大量的運(yùn)算逐個(gè)獲取每個(gè)單元格的位置信息及顯示的內(nèi)容,而本發(fā)明實(shí)施例通過(guò)行號(hào)獲取各個(gè)單元格的位置信息可以減少計(jì)算量,從而節(jié)省數(shù)據(jù)庫(kù)的資源,提高效率,并且減少向接口表寫入數(shù)據(jù)的次數(shù)也可以有效的節(jié)省資源。下面通過(guò)另一實(shí)施例對(duì)本發(fā)明提供的一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法進(jìn)行詳細(xì)說(shuō)明,如圖5所示,該方法包括以下步驟步驟501、將用戶終端與數(shù)據(jù)庫(kù)建立連接,并設(shè)置生成復(fù)雜報(bào)表的數(shù)據(jù);該用戶終端可以通過(guò)調(diào)用程序語(yǔ)句、配置參數(shù)等方式實(shí)現(xiàn)設(shè)置。步驟502、數(shù)據(jù)庫(kù)根據(jù)用戶的設(shè)置,獲取該復(fù)雜報(bào)表的相關(guān)數(shù)據(jù);數(shù)據(jù)庫(kù)根據(jù)用戶終端的設(shè)置,搜索并獲取生成復(fù)雜報(bào)表的需要的數(shù)據(jù),一般情況下,該數(shù)據(jù)包括單元格的顯示內(nèi)容、單元格占用的行列數(shù)、行列之間的關(guān)系等,當(dāng)然根據(jù)實(shí)際的需要,用戶終端還可以設(shè)置其它參數(shù)以獲取其它數(shù)據(jù)。步驟503、將該復(fù)雜報(bào)表的相關(guān)數(shù)據(jù)寫入第一虛擬表;具體的,將獲取的數(shù)據(jù)按照字段類型寫入第一虛擬表中的相應(yīng)位置。步驟504、以第一虛擬表為原始數(shù)據(jù)表,從中獲取行信息數(shù)據(jù)寫入第二虛擬表,獲取列信息寫入第三虛擬表;假設(shè)圖1為預(yù)生成的復(fù)雜報(bào)表,寫入第一虛擬表的數(shù)據(jù)包括單元格101地市/PUSH短信息條數(shù)(文字信息)單元格102短信息狀態(tài)碼(內(nèi)容信息)單元格103各地市PUSH數(shù)量(文字信息)單元格104比率(文字信息)單元格105省份碼(內(nèi)容信息)單元格106省份名稱(內(nèi)容信息)單元格107地區(qū)碼(內(nèi)容信息)單元格108地區(qū)名稱(內(nèi)容信息)單元格109各地市發(fā)送短信息總條數(shù)(內(nèi)容信息)單元格110各地市PUSH數(shù)量(內(nèi)容信息)單元格111比率(內(nèi)容信息)上述屬于文字信息的數(shù)據(jù)為用戶終端設(shè)置的在復(fù)雜報(bào)表中固定的顯示內(nèi)容,內(nèi)容信息為根據(jù)數(shù)據(jù)庫(kù)中相關(guān)數(shù)據(jù)的改變可以動(dòng)態(tài)改變的顯示內(nèi)容。通過(guò)檢測(cè)行標(biāo)識(shí)字段,將101地市/PUSH短信息條數(shù)、105省份碼、106省份名稱、107地區(qū)碼、108地區(qū)名稱、109各地市發(fā)送短信息總條數(shù)的相關(guān)信息寫入第二虛擬表;通過(guò)檢測(cè)列標(biāo)識(shí)字段,將102短信息狀態(tài)碼的相關(guān)信息寫入第三虛擬表。該相關(guān)信息可以包括該單元格所占的行列數(shù)等信息。其中,屬于行信息的數(shù)據(jù)為在復(fù)雜報(bào)表中對(duì)應(yīng)的顯示內(nèi)容可橫向擴(kuò)展的數(shù)據(jù),屬于列信息的數(shù)據(jù)為在復(fù)雜報(bào)表中對(duì)應(yīng)的顯示內(nèi)容可縱向擴(kuò)展的數(shù)據(jù)。例如,在圖1中的單元格102對(duì)應(yīng)的顯示數(shù)據(jù)為縱向擴(kuò)展,因此單元格102的相關(guān)信息屬于列信息。步驟505、根據(jù)第二虛擬表的行號(hào)和第三虛擬表的行號(hào),確定單元格的行列信息;具體的,用戶終端將復(fù)雜報(bào)表中左上角的單元格設(shè)置為第一單元格,并規(guī)定其起始行列號(hào)和結(jié)束行列號(hào),如圖1所示,第一單元格101固定行數(shù)目為2行,固定列數(shù)目為5列,則根據(jù)第二虛擬表的行號(hào)可知該復(fù)雜報(bào)表的總行數(shù)為max(r0Wid(temp2))+2,其中rowid(temp2)為第二虛擬表的一個(gè)單元格行號(hào)信息,max(rowid(temp2))表示計(jì)算第二虛擬表的最大行號(hào)。根據(jù)第三虛擬表的行號(hào)可知該復(fù)雜報(bào)表的總列數(shù)為max(rowid(temp3)*2)+5,其中rowid(temp2)為第三虛擬表的一個(gè)單元格的列號(hào)信息,由于單元格102在復(fù)雜報(bào)表中占用了兩列,因此在計(jì)算總列數(shù)時(shí),rowid(temp3)需要乘以2。由于第一單元格101的起始行號(hào)為0,結(jié)束行號(hào)1,起始列號(hào)為0,結(jié)束列號(hào)4,則可知單元格102的起始行號(hào)為0,結(jié)束行號(hào)為0,起始列號(hào)為rowid(temp3)*2+4,結(jié)束列號(hào)為rowid(temp3)*2+5;單元格103的起始行號(hào)為1,結(jié)束行號(hào)為1,起始列號(hào)為rOWid(temp3)*2+4,結(jié)束列號(hào)為rowid(temp3)*2+4;單元格104的起始行號(hào)為1,結(jié)束行號(hào)為1,起始列號(hào)為rowid(temp3)*2+5,結(jié)束列號(hào)為rowid(temp3)*2+5;由于用戶預(yù)先設(shè)定單元格102所占的列數(shù)為單元格103和單元格104所占列數(shù)之和,而單元格102占用兩列,因此可以獲知單元格103和單元格104各占一列。當(dāng)然用戶可以直接設(shè)定某個(gè)單元格所占的行列數(shù)。單元格105的起始行號(hào)為rowid(temp2)+l=2,結(jié)束行號(hào)為rowid(temp2)+1=2,起始列號(hào)為0,結(jié)束列號(hào)為0;單元格106的起始行號(hào)為rowid(temp2)+l=2,結(jié)束行號(hào)為rowid(temp2)+1=2,起始列號(hào)為1,結(jié)束列號(hào)為1;單元格107的起始行號(hào)為rowid(temp2)+l=2,結(jié)束行號(hào)為rowid(temp2)+1=2,起始列號(hào)為2,結(jié)束列號(hào)為2;單元格108的起始行號(hào)為rowid(temp2)+l=2,結(jié)束行號(hào)為rowid(temp2)+1=2,起始列號(hào)為3,結(jié)束列號(hào)為3;單元格109的起始行號(hào)為rowid(temp2)+l=2,結(jié)束行號(hào)為rowid(temp2)+1=2;起始列號(hào)為4,結(jié)束列號(hào)為4。以此類推,獲得各個(gè)單元格的行列信息,通過(guò)上述各個(gè)單元格的行列信息即可確定單元格的具體位置。需要說(shuō)明的是虛擬表只是一個(gè)抽象的數(shù)據(jù)庫(kù)表,它的表結(jié)構(gòu)不固定。步驟506、將復(fù)雜報(bào)表中單元格的行列信息寫入數(shù)據(jù)庫(kù)中的接口表;8具體的,該接口表為生成復(fù)雜報(bào)表而設(shè)計(jì)的臨時(shí)表結(jié)構(gòu),該表包括五個(gè)字段,該五個(gè)字段中的內(nèi)容確定了報(bào)表中固定一個(gè)單元格所需要的全部信息。該五個(gè)字段為開(kāi)始行號(hào),結(jié)束行號(hào),開(kāi)始列號(hào),結(jié)束列號(hào),單元格顯示內(nèi)容。只要在數(shù)據(jù)庫(kù)中將復(fù)雜報(bào)表中所有的單元格信息都填到這個(gè)臨時(shí)表中,zxR印ort報(bào)表設(shè)計(jì)工具就可以利用這些信息,生成復(fù)雜報(bào)表。可以先將總行數(shù)、總列數(shù)等整體信息寫入數(shù)據(jù)庫(kù)中的接口表,在單元格數(shù)目沒(méi)有確定的情況下,可以寫入任意數(shù)值,待獲取到精確值后再替代該任意值。步驟507、根據(jù)單元格所在的行列號(hào)以及行列號(hào)與顯示內(nèi)容的預(yù)置對(duì)應(yīng)關(guān)系,在第一虛擬表中獲取單元格中用于顯示內(nèi)容的數(shù)據(jù)。用戶終端根據(jù)行列之間的關(guān)系,設(shè)置行列號(hào)與顯示內(nèi)容的對(duì)應(yīng)關(guān)系,例如復(fù)雜報(bào)表中,行為時(shí)間信息,列為某特定狀態(tài)碼下發(fā)送的彩信總量,那么行和列的交叉單元格的信息就是某年某月某特定狀態(tài)碼下發(fā)送彩信總量。該預(yù)置的對(duì)應(yīng)關(guān)系可以為直接的映射關(guān)系,也可以為通過(guò)公式等技術(shù)手段獲得的關(guān)系,例如單元格110和單元格111的數(shù)據(jù)可以通過(guò)單元格102、單元格105、單元格106、單元格107、單元格108之間的關(guān)聯(lián)關(guān)系確定。步驟508、利用接口表生成腳本文件,并保存在報(bào)表定義庫(kù)中;步驟509、調(diào)用該腳本文件,生成復(fù)雜報(bào)表。從以上的描述中,可以看出通過(guò)本發(fā)明實(shí)施例提供的方法,可以通過(guò)將復(fù)雜報(bào)表的數(shù)據(jù)存儲(chǔ)在虛擬報(bào)表中,然后通過(guò)虛擬報(bào)表的行號(hào)確定各個(gè)單元格的位置,進(jìn)而確定各個(gè)單元格中顯示的內(nèi)容,再寫入數(shù)據(jù)庫(kù)中的接口表。通過(guò)行號(hào)獲取各個(gè)單元格的位置信息可以減少計(jì)算量,從而節(jié)省數(shù)據(jù)庫(kù)的資源,提高效率,并且減少向接口表寫入數(shù)據(jù)的次數(shù)也可以有效的節(jié)省資源。相應(yīng)的,本發(fā)明實(shí)施例還提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的裝置,如圖6所示,該裝置包括獲取模塊601,用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);寫入模塊602,用于將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;處理模塊603,用于根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;生成模塊604,用于根據(jù)所述接口表生成復(fù)雜報(bào)表。較佳的,在本發(fā)明另一實(shí)施例中,該寫入模塊602包括第一寫入子模塊,用于將獲取的數(shù)據(jù)按照字段類型寫入第一虛擬表中的相應(yīng)位置;第二寫入子模塊,用于將所述第一虛擬表中帶有行標(biāo)識(shí)字段的數(shù)據(jù)寫入第二虛擬表;第三寫入子模塊,用于將所述第一虛擬表中帶有列標(biāo)識(shí)字段的數(shù)據(jù)寫入第三虛擬表。較佳的,在本發(fā)明另一實(shí)施例中,該處理模塊603包括位置獲取子模塊,用于根據(jù)第一單元格的結(jié)束行號(hào)和所述第二虛擬表的行號(hào),確定其余單元格的起始行號(hào)和結(jié)束行號(hào);根據(jù)第一單元格的結(jié)束列號(hào)和所述第三虛擬表的行號(hào),確定其余單元格的起始列號(hào)和結(jié)束列號(hào);其中,用戶終端將復(fù)雜報(bào)表中左上角的單元格設(shè)置為第一單元格,并規(guī)定其起始行列號(hào)和結(jié)束行列號(hào);根據(jù)單元格所在的行列號(hào)確定所述單元格的位置;顯示內(nèi)容獲取子模塊,用于根據(jù)單元格所在的行列號(hào)以及所述行列號(hào)與顯示內(nèi)容的預(yù)置對(duì)應(yīng)關(guān)系,在第一虛擬表中獲取所述用于顯示內(nèi)容的數(shù)據(jù)。較佳的,該裝置可以位于數(shù)據(jù)庫(kù)中,也可以為獨(dú)立的裝置。從以上的描述中,可以看出,根據(jù)本發(fā)明實(shí)施例提出的裝置,可以通過(guò)將復(fù)雜報(bào)表的數(shù)據(jù)存儲(chǔ)在虛擬報(bào)表中,然后通過(guò)虛擬報(bào)表的行號(hào)確定各個(gè)單元格的位置,進(jìn)而確定各個(gè)單元格中顯示的內(nèi)容,再寫入數(shù)據(jù)庫(kù)中的接口表。通過(guò)行號(hào)獲取各個(gè)單元格的位置信息可以減少計(jì)算量,從而節(jié)省數(shù)據(jù)庫(kù)的資源,提高效率,并且減少向接口表寫入數(shù)據(jù)的次數(shù)也可以有效的節(jié)省資源。相應(yīng)的,本發(fā)明實(shí)施例還提供了一種基于數(shù)據(jù)庫(kù)生成報(bào)表的系統(tǒng),如圖7所示,包括數(shù)據(jù)庫(kù)701和用戶終端702;數(shù)據(jù)庫(kù)701,用于根據(jù)用戶終端702的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表;用戶終端702,用于設(shè)置生成復(fù)雜報(bào)表需要的數(shù)據(jù)。從以上的描述中,可以看出,根據(jù)本發(fā)明實(shí)施例提出的方法、裝置和系統(tǒng),可以通過(guò)將復(fù)雜報(bào)表的數(shù)據(jù)存儲(chǔ)在虛擬報(bào)表中,然后通過(guò)虛擬報(bào)表的行號(hào)確定各個(gè)單元格的位置,進(jìn)而確定各個(gè)單元格中顯示的內(nèi)容,再寫入數(shù)據(jù)庫(kù)中的接口表。通過(guò)行號(hào)獲取各個(gè)單元格的位置信息可以減少計(jì)算量,從而節(jié)省數(shù)據(jù)庫(kù)的資源,提高效率,并且減少向接口表寫入數(shù)據(jù)的次數(shù)也可以有效的節(jié)省資源。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。權(quán)利要求一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法,其特征在于,該方法包括根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表。2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù),包括數(shù)據(jù)庫(kù)與用戶終端連接后,數(shù)據(jù)庫(kù)根據(jù)所述用戶終端的設(shè)置,搜索并獲取生成復(fù)雜報(bào)表的需要的數(shù)據(jù)。3.如權(quán)利要求1所述的方法,其特征在于,所述將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表,具體包括將獲取的數(shù)據(jù)按照字段類型寫入第一虛擬表中的相應(yīng)位置;將所述第一虛擬表中用戶設(shè)定的行數(shù)據(jù)寫入第二虛擬表,用戶設(shè)定的列數(shù)據(jù)寫入第三虛擬表。4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,具體包括根據(jù)第一單元格的結(jié)束行號(hào)、結(jié)束列號(hào)和所述第二虛擬表的行號(hào)所述第三虛擬表的行號(hào),確定其余單元格的起始行號(hào)和結(jié)束行號(hào)、起始列號(hào)和結(jié)束列號(hào);其中,用戶終端將復(fù)雜報(bào)表中左上角的單元格設(shè)置為第一單元格,并規(guī)定其起始行列號(hào)和結(jié)束行列號(hào);根據(jù)單元格所在的行列號(hào)以及所述行列號(hào)與顯示內(nèi)容的預(yù)置對(duì)應(yīng)關(guān)系,在第一虛擬表中獲取所述用于顯示內(nèi)容的數(shù)據(jù)。5.如權(quán)利要求1所述的方法,其特征在于,所述寫入數(shù)據(jù)庫(kù)中的接口表,包括第一次寫入復(fù)雜報(bào)表中單元格的總行列數(shù);第二次寫入各個(gè)單元格的位置信息和顯示內(nèi)容。6.一種基于數(shù)據(jù)庫(kù)生成報(bào)表的裝置,其特征在于,該裝置包括獲取模塊,用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);寫入模塊,用于將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;處理模塊,用于根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;生成模塊,用于根據(jù)所述接口表生成復(fù)雜報(bào)表。7.如權(quán)利要求6所述的裝置,其特征在于,所述寫入模塊包括第一寫入子模塊,用于將獲取的數(shù)據(jù)按照字段類型寫入第一虛擬表中的相應(yīng)位置;第二寫入子模塊,用于將所述第一虛擬表中帶有行標(biāo)識(shí)字段的數(shù)據(jù)寫入第二虛擬表;第三寫入子模塊,用于將所述第一虛擬表中帶有列標(biāo)識(shí)字段的數(shù)據(jù)寫入第三虛擬表。8.如權(quán)利要求6所述的裝置,其特征在于,所述處理模塊包括位置獲取子模塊,用于根據(jù)第一單元格的結(jié)束行號(hào)和所述第二虛擬表的行號(hào),確定其余單元格的起始行號(hào)和結(jié)束行號(hào);根據(jù)第一單元格的結(jié)束列號(hào)和所述第三虛擬表的行號(hào),確定其余單元格的起始列號(hào)和結(jié)束列號(hào);其中,用戶終端將復(fù)雜報(bào)表中左上角的單元格設(shè)置為第一單元格,并規(guī)定其起始行列號(hào)和結(jié)束行列號(hào);根據(jù)單元格所在的行列號(hào)確定所述單元格的位置;顯示內(nèi)容獲取子模塊,用于根據(jù)單元格所在的行列號(hào)以及所述行列號(hào)與顯示內(nèi)容的預(yù)置對(duì)應(yīng)關(guān)系,在第一虛擬表中獲取所述用于顯示內(nèi)容的數(shù)據(jù)。9.如權(quán)利要求6至8中任一所述的裝置,其特征在于,所述裝置位于數(shù)據(jù)庫(kù)。10.一種基于數(shù)據(jù)庫(kù)生成報(bào)表的系統(tǒng),其特征在于,包括數(shù)據(jù)庫(kù)和用戶終端;所述數(shù)據(jù)庫(kù),用于根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表;所述用戶終端,用于設(shè)置生成復(fù)雜報(bào)表需要的數(shù)據(jù)。全文摘要本發(fā)明實(shí)施例涉及數(shù)據(jù)通信領(lǐng)域技術(shù),特別涉及一種基于數(shù)據(jù)庫(kù)生成報(bào)表的方法、裝置和系統(tǒng),該方法包括根據(jù)用戶終端的設(shè)置,獲取生成復(fù)雜報(bào)表需要的數(shù)據(jù);將所述數(shù)據(jù)中的行信息數(shù)據(jù)和列信息數(shù)據(jù)分別寫入虛擬表;根據(jù)所述虛擬表的行號(hào),確定所述復(fù)雜報(bào)表中每個(gè)單元格的位置及顯示內(nèi)容,并寫入數(shù)據(jù)庫(kù)中的接口表;根據(jù)所述接口表生成復(fù)雜報(bào)表。通過(guò)本發(fā)明實(shí)施例提供的方法、裝置和系統(tǒng),可以有效的節(jié)省數(shù)據(jù)庫(kù)空間,提高數(shù)據(jù)庫(kù)的處理效率。文檔編號(hào)G06F17/30GK101833583SQ20101017797公開(kāi)日2010年9月15日申請(qǐng)日期2010年5月18日優(yōu)先權(quán)日2010年5月18日發(fā)明者薛曄申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1