這種方法能解析和生成
EXCEL
文檔,功能強大,能夠讀寫到任意單元格,生成單元格樣式,合併單元格,支持圖表等等。能夠在
.NET
任何項目中使用,但會面臨釋放託管資源的問題。不少朋友認爲這種方法必需要裝
EXCEL
程序
(Office)
,其實只須要安裝
PIA
就能夠了。
PIA
會在徹底安裝
Office
時自動安裝,也能夠在安裝
Office
的嚮導中選擇。但有個更好的方法是單獨安裝和分發
PIA
,微軟想到了這一點,你能夠經過下面的連接單獨獲取
PIA
的分發包。
Office 2003 Update: Redistributable Primary Interop Assemblies
:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3c9a983a-ac14-4125-8ba0-d36d67e0f4ad&DisplayLang=en
2007 Microsoft Office System Update: Redistributable Primary Interop Assemblies
:
http://www.microsoft.com/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-B864D8BFA513&displaylang=en
Office PIA
會被安裝到
GAC
目錄,
GAC
位於
Windows
目下的
Assembly
子目錄。
若是要使用
PIA
必需要先在項目中添加引用,以下圖:
Excel 2007
的
PIA
是
12.0
,如上圖。
Excel 2003PIA
的是
11.0
。
方法二:經過
OLEDb
解析
Excel
報表。
OleDb
解析
Excel
報表,本質上是經過
OleDb
驅動完成的,此時能夠把
Excel
當作一張數據庫表來讀取,
Excel 2003
用的驅動是
Microsoft.Jet.OLEDB.4.0
,
Excel 2007
用的驅動是
Microsoft.Ace.OleDb.12.0
,OleDb
在解析Excel功能上比較簡單,實際項目中每每運用此方法來獲取Excel數據,以下圖:
方法三:經過
Access
對象模型
(COM
接口
)
生成
EXCEL
報表。
此方法同方法一技術上相似,可是此時引用的
PIA
不是
Excel
的,而是
Access
的。以下圖:
Access 2007
的
PIA
是
12.0
,如上圖。
Access 2003PIA
的是
11.0
。
經過
Access PIA
,能夠把
Access
數據庫中的表完美快速的生成到
Excel
工做薄中,能夠同時生成多個工做表,速度很是之快,日期類型,貨幣類型,長格式數值,都會自動轉成文本,不存在
’#’
或科學計數的問題。
方法四:經過開放
Open Xml
生成
Excel
報表
這種方法是基於
Office Open Xml
的,服務器和客戶端都不須要安裝
Excel
,能夠在
.NET
任何項目中使用,開發難度高,但部署成本比較低。在格式方面,
Open Xml
對單元格樣式控制能力很強,能夠生成各類格式的單元,生成
Excel
的效率也很是高。
下圖的中
2
個標註的地方都運用了這種技術生成
Excel
報表。
方法五:經過水晶報表和微軟報表生成
Excel
報表
水晶報表功能強大,能生成複雜
Excel
報表,可是它是收費的。
而微軟報表
(Microsoft RepoertViewer)
功能強大,本質上是微軟借鑑水晶報表開發的,因此和水晶報表沒什麼兩樣,並且直接集成到了
Visual Studio
中。微軟報表能夠在
.NET
任何項目中使用,不只能夠生成
EXCEL
報表,還能夠生成
PDF
等。下圖是微軟報表的一個應用,這個報表默認是橫向打印:
說到這,不得不提微軟數據庫系統中的
×××S
,這個報表服務引擎很是強大,不只包含建立報表的功能,還包括管理和訪問報表的功能,這是一個真正的企業級報表平臺。
方法六:經過構建
HTML
標籤向客戶端生成
Excel
報表。
這種方法,在
asp.net
項目中很常見,尤爲是在生成中國式的報表項目中很是經常使用。這種方法首先是構造
HTML
標籤,生成指定的格式,填充數據,最後發送客戶端,保存成
Excel
報表格式。固然這種發放就更不須要安裝
Excel
程序了。
方法七:經過構造
CVS
格式生成
EXCEL
報表。
這種方法只能生成無格式的
Excel
報表,不須要安裝
Excel
程序。
方法八:經過開源軟件解析和生成
Excel
報表(基於
BIFF
)。
開源項目中有
2
個解析和生成
Excel
文件的精品:
Koogra
和
Myxls
,他們都是基於
BINARY FILE FORMAT(BIFF)
的
Excel
文件結構形式開發的。運用這個開源項目進行解析和生成
Excel
報表都不須要安裝
Office
,部署方便。
Koogra
用於解析
Excel
文件。
Myxls
用於生成
Excel
文件。
先總結這8種方法,可是實際上還有其餘的方法,好比強大的Active-x報表等等。