做企業級應用,跟office打交道是少不了的。這裡的Office不僅僅局限于微軟的Office,還有第三方的Open Office之類。.Net傳統的Office操作方法(比如OleDB,OWC之類),有幾大缺點:
一是不通用(僅能處理微軟的Office,不能與其它非Windows平台交換資料),
二是性能差(導出一個Excel,如果記錄數上萬條,速度很慢),
三是伺服器通常要安裝Office Web Components(即OWC元件)。
安裝完以後,就能直接使用了,下面的代碼示範了,如何建立一個Excel文檔,并建立一個工作表"部落格園",最後在該工作表的單元格A1中插入字元串
Sample.xlsx的打開截圖:
下面這張圖描述了Excel2007的大概結構:(摘自MSDN)
前面提到過Open XML是一個基于XML的标準,Open XML SDK安裝後,提供了一個工具"Open XML SDK 2.0 Productivity Tool",可以用來檢視所有支援Open XML标準的文檔DOM結構
該工具還能将任何Open Document(即支援Open XML标準的office文檔),直接生成相應的C#代碼(很給力的一個功能!)
最後再給出微軟的一些線上學習位址:
<a href="http://www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx?mfr=truehttp://msdn.microsoft.com/zh-cn/library/bb448854.aspx" target="_blank">http://www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx?mfr=true</a>
http://msdn.microsoft.com/zh-cn/library/bb448854.aspx
另外codeplex上還有一個利用openxml對excel/word常用操作進行封裝的開源項目:http://simpleooxml.codeplex.com/