天天看點

【原創】.NET讀寫Excel工具Spire.Xls使用(2)Excel檔案的控制1.Excel文檔的建立、加載與儲存2.C#設定Excel檔案屬性3.C#加密和保護Excel檔案

  我們的上一篇文章的初步介紹中,有一個Hello Excel的例子,其實就已經包括了Excel檔案建立和儲存的方法,非常簡單。這一節将着重對每個細節進行更詳細點的研究。

  Excle檔案的儲存都是使用Workbook的SaveToFile方法,有以下幾個版本,可以根據自己的需要,根據檔案名,Excel檔案版本,以及檔案格式來儲存,方法原型如下,比較簡單不再示範,在後續的文章中會在代碼中用到。

  使用C#操作Excel檔案,不一定都是生成Excel檔案報表之類的,有時候也需要加載已經存在的資料(XML,Excle等)來進行修改,然後儲存到對應的Excel檔案中去。加載到Excel的方法是Workbook對象的LoadFromFile、LoadFromStream、LoadFromXml等方法,方法原型有以下幾個:

  檔案屬性這個雖然一般人很少用到,但還是介紹一下,畢竟如果檔案分發出去的話,将相關屬性資訊添加完整,還是很有必要的。Excel檔案屬性可以點選檔案右鍵-屬性看到界面,如下圖我使用WPS檢視的Excel檔案屬性,使用Office Excel檢視的話,是右邊的樣子,雖然顯示不一樣,但原理是一樣的:

【原創】.NET讀寫Excel工具Spire.Xls使用(2)Excel檔案的控制1.Excel文檔的建立、加載與儲存2.C#設定Excel檔案屬性3.C#加密和保護Excel檔案
【原創】.NET讀寫Excel工具Spire.Xls使用(2)Excel檔案的控制1.Excel文檔的建立、加載與儲存2.C#設定Excel檔案屬性3.C#加密和保護Excel檔案

      1.WPS顯示的Excel屬性                                             2.Office Excle顯示的檔案屬性

  設定Excel檔案屬性的方法在Workbook對象的DocumentProperties屬性中,這個屬性是一個XlsBuiltInDocumentProperties類型,在Spire.Xls.Core.Spreadsheet.Collections命名空間,通過VS的對象浏覽器也可以發現其實作的一些原理,可以擴充到其他的元件使用中。看看一個簡單的例子: 

  注意,由于我沒有安裝Office 2007及以上版本,用WPS顯示的時候,有點問題,要用WPS轉換為2003版本後才能看出來,這可能是WPS的原因,調試生成的檔案發現,這些屬性值都是存在的。是以我也沒去折騰,安裝個Office 真的很麻煩。 

  Excel檔案級的加密其實很簡單,就是Workbook對象的Protect方法,傳遞加密密碼即可;如果想要取消密碼,則使用workbook.UnProtect(),注意取消加密是不需要密碼的,Excel軟體操作也是的,是以程式操作也不需要。

加密後打開檔案就是這個樣子了:

【原創】.NET讀寫Excel工具Spire.Xls使用(2)Excel檔案的控制1.Excel文檔的建立、加載與儲存2.C#設定Excel檔案屬性3.C#加密和保護Excel檔案

   Sheet的保護更加靈活一點,使用的是Worksheet對象的Protect方法,傳遞的參數是 保護的密碼,以及可選的保護類型(更加豐富的保護類型),看看下面的例子:

實作的效果應該和WPS的“保護工作表”界面類似,如下圖:

【原創】.NET讀寫Excel工具Spire.Xls使用(2)Excel檔案的控制1.Excel文檔的建立、加載與儲存2.C#設定Excel檔案屬性3.C#加密和保護Excel檔案

保護工作表的作用一般是防止誤操作或者對于有版權保護的,不能輕易更改的情況。大家看情況使用,我這裡很少用到,隻是了解到了,順便說一下。

  今天就到此為止把,雖然都很簡單,但了解一下,對以後熟練開發還是有好處的。例子非常簡單,代碼都在上面,到本系列完成後,再打包一份代碼。