黃興榮
摘要:探討了基于ASP.NET環(huán)境,實現(xiàn)Excel數(shù)據(jù)報表的幾種導(dǎo)出方法,重點闡述了其中一種方法的實現(xiàn)原理和實現(xiàn)過程,并將其應(yīng)用于項目開發(fā)中。使用Excel數(shù)據(jù)報表的導(dǎo)出方法,具有適應(yīng)性強(qiáng)、高效率、低開發(fā)成本的特點。
關(guān)鍵詞:ASP.NET;Excel;數(shù)據(jù)報表;數(shù)據(jù)導(dǎo)出
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)35-0039-02
Abstract:Based on ASP.NET environment, several export methods for realizing Excel Data Report, and the realization principle and realization process of a method is described in this paper. Using the method for realizing Excel Data Report, has the characteristics of strong adaptability, high efficiency, low development cost.
Key words:ASP.NET; Excel; data report; data export
通常,在基于B/S架構(gòu)的管理信息系統(tǒng)的開發(fā)中,用戶要求對數(shù)據(jù)實現(xiàn)統(tǒng)計和匯總的功能。而通過Web方式提供優(yōu)質(zhì)、高效的報表輸出和打印,是業(yè)界公認(rèn)較難實現(xiàn)的技術(shù)問題。在B/S架構(gòu)系統(tǒng)中,可以通過瀏覽器自帶的頁面打印功能,來實現(xiàn)數(shù)據(jù)報表的輸出、打印。但是,自帶的頁面打印功能無法滿足較為復(fù)雜的數(shù)據(jù)導(dǎo)出的要求。復(fù)雜的數(shù)據(jù)導(dǎo)出功能,一方面,可以通過第三方的控件來實現(xiàn),但是功能復(fù)雜,價格昂貴;另一方面,也可以通過導(dǎo)出為Excel的數(shù)據(jù)報表來實現(xiàn)。在輕量級的系統(tǒng)開發(fā)中,與使用第三方控件方法相比較而言,基于ASP.NET的Excel數(shù)據(jù)報表導(dǎo)出方法,具有適應(yīng)性較強(qiáng),控制性較好,開發(fā)成本低的優(yōu)勢。在本文中,將討論在ASP.NET環(huán)境中,實現(xiàn)導(dǎo)出Excel數(shù)據(jù)報表的方法。
1 三種基于ASP.NET的Excel數(shù)據(jù)報表導(dǎo)出方法的比較
在ASP.NET的環(huán)境中,主要有三種的Excel數(shù)據(jù)報表導(dǎo)出方法[1-2]。分別為:引用COM組件;使用VbScript生成Excel文件;將數(shù)據(jù)生成HTML代碼,保存為Excel文件。
方法一、引用COM組件。此方法,直接通過接口調(diào)用,可以實現(xiàn)較為復(fù)雜的報表,但要求在服務(wù)器端安裝Excel,并設(shè)置一定的訪問權(quán)限。且由于使用了非托管的COM對象,易造成Excel進(jìn)程無法釋放。在B/S環(huán)境中,并不推薦使用方法一來實現(xiàn)Excel數(shù)據(jù)報表的導(dǎo)出。
方法二、使用VbScript生成Excel文件。此方法使用VbScript腳本語言來實現(xiàn)數(shù)據(jù)導(dǎo)出功能,但較為繁瑣,難以維護(hù),并必須在客戶端的IE瀏覽器中進(jìn)行相關(guān)設(shè)置。方法二,具有效率高的優(yōu)勢。
方法三、將數(shù)據(jù)生成HTML代碼,保存為Excel文件。此方法首先對瀏覽器的輸出類型進(jìn)行設(shè)置,然后調(diào)用自定義的過程,將數(shù)據(jù)以字符串流的形式進(jìn)行輸出。方法三,表現(xiàn)形式較為簡單,易于實現(xiàn),效率較高。
綜上所述,以上三種方法各有優(yōu)劣,可以充分滿足在中小型系統(tǒng)的導(dǎo)出Excel數(shù)據(jù)報表功能要求。在系統(tǒng)開發(fā)中,根據(jù)具體功能要求,進(jìn)行選用。在建筑起重機(jī)械監(jiān)督管理系統(tǒng)的開發(fā)中,用戶要求在實現(xiàn)導(dǎo)出Excel數(shù)據(jù)報表時,方便簡單,效率高;同時,在此系統(tǒng)中,要實現(xiàn)的報表功能較多,也對于維護(hù)提出較高的要求。所以,在系統(tǒng)開發(fā)中,項目團(tuán)隊采用方法三來實現(xiàn)Excel數(shù)據(jù)報表導(dǎo)出功能。在下文中,重點討論方法三的實現(xiàn)原理和實現(xiàn)過程。
2 導(dǎo)出Excel數(shù)據(jù)報表實現(xiàn)原理
3 導(dǎo)出Excel數(shù)據(jù)報表實現(xiàn)過程
在建筑起重機(jī)械監(jiān)督管理系統(tǒng)中,統(tǒng)計產(chǎn)權(quán)備案信息的頁面設(shè)計如圖1所示,在此頁面中,添加了一個DridView控件和一個Button控件。DridView控件用來顯示查詢產(chǎn)權(quán)備案信息的數(shù)據(jù),每列表示一個字段,而每行表示一條記錄。Button控件的Click()事件,用來實現(xiàn)Excel數(shù)據(jù)報表的導(dǎo)出功能。Excel數(shù)據(jù)報表的導(dǎo)出結(jié)果如圖2所示。
4 結(jié)束語
本文重點闡述了一種在ASP.NET中導(dǎo)出Excel數(shù)據(jù)報表的方法,并討論其它方法的優(yōu)缺點。雖然上述方法導(dǎo)出Excel數(shù)據(jù)報表的功能有限,但具有適應(yīng)性較強(qiáng)、效率較高、開發(fā)成本較低的優(yōu)勢,對于解決Web報表導(dǎo)出問題具有一定的借鑒意義。
參考文獻(xiàn):
[1] 王興. ASP.NET 中Excel文檔生成技術(shù)研究[J]. 軟件導(dǎo)刊, 2010,9(4):130-131.
[2] 李菲菲. 一種基于ASP.NET 中Excel報表導(dǎo)入與導(dǎo)出方法[J]. 軟件導(dǎo)刊, 2012,11(8):136-137.