一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)

.NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)

2020-05-19 11:34asp.net教程網 ASP.NET教程

這篇文章主要為大家詳細介紹了.NET讀寫Excel工具Spire.Xls使用,Excel文件的控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前一篇文章:“ .NET操作Excel利器Spire.Xls使用(1)入門介紹 ”給大家介紹了Spire.XLS的基本功能和一些比較。這篇文章將重點介紹C#操作Excel文件時,對Excel文件本身的相關設置,全局控制的內容。因為這也是C#讀寫Excel文件時經常碰到的文章,也是我在使用過程中的一個學習步驟。本文將首先介紹Spire.XLS創建和加載文檔的基礎知識,以及文件保存,多個Excel文件合并的操作方法,其中我們還可以對生成的Excel文件做更多詳細的設置,如,對Excel文件屬性進行設置等等,其次很多項目中,不僅要生成Excel文件,還需要打印并獲取一些分頁信息;最后介紹一下使用C#設置加密保護Excel文件的方法。

1.Excel文檔的創建、加載與保存

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

1.1 保存Excel文件

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

?
1
2
3
4
5
//根據文件名,文件版本,文件格式信息來保存文件
public void SaveToFile(string fileName);
public void SaveToFile(string fileName, ExcelVersion version);
public void SaveToFile(string fileName, FileFormat fileFormat);
public void SaveToFile(string fileName, string separator);

1.2 從不同途徑加載Excel

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//從文件加載,根據文件名,保護模式和Excel版本
public void LoadFromFile(string fileName);
public void LoadFromFile(string fileName, bool preserveMode);
public void LoadFromFile(string fileName, ExcelVersion version);
public void LoadFromFile(string fileName, string separator);
public void LoadFromFile(string fileName, string separator, int row, int column);
public void LoadFromFile(string fileName, string separator, int row, int column, ExcelVersion version);
//從數據流中加載
public void LoadFromStream(Stream stream);
public void LoadFromStream(Stream stream, bool loadStyles);
public void LoadFromStream(Stream stream, ExcelVersion version);
//從XML文件加載
public void LoadFromXml(Stream stream);
public void LoadFromXml(string fileName);
//從模版文件加載
public void LoadTemplateFromFile(string fileName);
public void LoadTemplateFromFile(string fileName, bool loadStyles);

2.C#設置Excel文件屬性

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

.NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2).NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)

1.WPS顯示的Excel屬性                                        2.Office Excle顯示的文件屬性

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#region 2.Excel文件屬性例子
static void ExcelTest2()
{  
 Workbook workbook = new Workbook();
 
 //修改文檔屬性信息,這樣在發布的時候,可以通過文檔顯示公司以及文件人的信息
 workbook.DocumentProperties.Author = "張三";   //作者
 workbook.DocumentProperties.Subject = "測試文件屬性"; //主題
 workbook.DocumentProperties.Title = "測試Excel文件"; //標題
 workbook.DocumentProperties.Company = "XX有限公司"//單位
 workbook.DocumentProperties.Comments = "保留文件評論"; //評論
 workbook.DocumentProperties.Keywords = "測試 Excel "; //關鍵詞
 workbook.DocumentProperties.CreatedTime = DateTime.Now; //創建時間
 //TODO:還有其他屬性,可以參考XlsBuiltInDocumentProperties的相關屬性  
 
 //將Excel文件保存到指定文件,還可以指定Excel版本
 workbook.SaveToFile("Sample.xls", ExcelVersion.Version2007);
}
#endregion

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

3.C#加密和保護Excel文件

  相信很多人都用過Office的加密以及保護功能,對于Excel來說,加密和保護的范圍更加廣泛了:不僅可以加密文件,還可以保護指定的Sheet,指定的單元格等等。

3.1 加密Excel文件

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

?
1
2
3
4
5
6
7
8
9
#region 3.加密Excel文件例子
static void ExcelTest3()
{
 Workbook workbook = new Workbook();
 workbook.Protect("pwd111");//設置保護加密的 密碼 :pwd111
 //將Excel文件保存
 workbook.SaveToFile("Sample.xls", ExcelVersion.Version2007);
}
#endregion

加密后打開文件就是這個樣子了:

.NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)

3.2 保護Sheet與單元格

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

?
1
2
3
4
5
6
7
8
9
Workbook workbook = new Workbook();
 
Worksheet sheet = workbook.Worksheets[0];
 
//保護sheet
sheet.Protect("test", SheetProtectionType.All);
 
//將Excel文件保存
workbook.SaveToFile("Sample.xlsx", ExcelVersion.Version2010);

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

.NET讀寫Excel工具Spire.Xls使用 Excel文件的控制(2)

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static void ExcelTest4()
{
 Workbook workbook = new Workbook();
 workbook.CreateEmptySheets(1);
 Worksheet sheet = workbook.Worksheets[0];
 
 sheet.Range["A1"].Text = "鎖定";
 sheet.Range["B1"].Text = "未鎖定";
 
 sheet.Range["A1"].Style.Locked = true;
 sheet.Range["B1"].Style.Locked = false;
 
 //一定要對工作表進行保護,才能生效
 sheet.Protect("test", SheetProtectionType.All);
 
 workbook.SaveToFile(@"Sample_Lock.xlsx", ExcelVersion.Version2010);
}

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/asxinyu/p/4374015.html#_label0

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99热久久这里只有精品6国产网 | 久久天堂成人影院 | 美女扒开腿让男人桶爽动态图片 | 爱情岛论坛自拍永久入口 | 亚洲欧洲淘宝天堂日本 | 男女男精品视频免费观看 | 美尻在线 | 插入逼 | 美女扒开奶罩让男人吃奶 | 国产福利资源网在线观看 | 果冻传媒林予曦图片 | 国产在线视频欧美亚综合 | 九九热视频 这里有精品 | 91九色视频无限观看免费 | 波多野结衣两女调教 | 亚洲免费网站在线观看 | 狠狠干狠狠插 | 成人国产精品一级毛片视频 | 精品午夜寂寞黄网站在线 | 草莓丝瓜芭乐樱桃榴莲色多黄 | 亚洲欧美日韩综合一区久久 | 单身男女韩剧在线看 | 国产在线综合网 | 555www成人网 | 国产欧美一区二区三区精品 | 欧美bbxx | 日本五十路六十30人8时间 | 青青国产精品 | 狠狠做五月深爱婷婷天天综合 | 日本综合在线观看 | 四虎影视免费 | 亚洲午夜久久久久影院 | 摸咪网在线影院在线观看 | a一级毛片录像带 录像片 | 白丝尤物的下面被疯狂蹂躏 | 国产精品日韩在线观看 | 国产亚洲精品美女 | 精品亚洲欧美中文字幕在线看 | 香蕉视频在线观看网站 | 亚洲国产综合精品 | 日日日操 |