溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

.NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析

發(fā)布時(shí)間:2021-08-09 10:24:32 來(lái)源:億速云 閱讀:263 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān).NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

1.Excel單元格概述

  Excel單元格是表格的最小編輯單元,也是操作的主體,日常涉及到的相關(guān)功能有:

1.對(duì)指定單元格讀寫內(nèi)容:讀寫內(nèi)容的時(shí)候,有一些操作可以和格式控制,如單元格的類型進(jìn)行合并;

2.對(duì)單元格的格式進(jìn)行控制,如數(shù)字,字符串,文字顏色,字體大小等等;對(duì)于自定義報(bào)表等文件,這個(gè)要求是比較常見的;

3.對(duì)單元格的樣式進(jìn)行控制,如邊框線條(樣式,顏色),內(nèi)容對(duì)齊,合并單元格等等,也是很常見的;

4.單元格的相關(guān)統(tǒng)計(jì),如一些函數(shù),求和統(tǒng)計(jì)功能等等;

5.單元格的保護(hù)功能可以參考上一篇文章.NET讀寫Excel工具Spire.Xls使用(2)Excel文件的控制

  接下來(lái)的內(nèi)容主要對(duì)上述4個(gè)主要用途進(jìn)行演示,附一些實(shí)際代碼。如果有需要補(bǔ)充的,請(qǐng)留言。

2.單元格內(nèi)容的讀寫

  在Spire.XLS中讀寫單元格,主要的一個(gè)對(duì)象不可不知,那就是CellRange,代表是單元格的一個(gè)范圍集合,可以根據(jù)單元格的名稱如A1,B2來(lái)返回單元格集合,也可以根據(jù)行號(hào)和列號(hào)(下標(biāo)從1開始)來(lái)訪問(wèn)。例如下面的代碼,直接對(duì)A1單元格賦值,然后對(duì)第一行第2個(gè)單元格賦值。相比NPOI,不停的Create再賦值,這確實(shí)方便不少??创a:

static void ExcelTest5()
{
 //創(chuàng)建1個(gè)工作簿,相當(dāng)于1個(gè)Excel文件
 Workbook workbook = new Workbook();

 //獲取第一個(gè)sheet,進(jìn)行操作,下標(biāo)是從0開始
 Worksheet sheet = workbook.Worksheets[0];

 //向A1單元格寫入文字
 sheet.Range["A1"].Text = "我是A1單元格";
 sheet.Range[1, 2].Text = "我是第1行的第2個(gè)單元格";

 //將Excel文件保存到指定文件,還可以指定Excel版本
 workbook.SaveToFile("例子.xls", ExcelVersion.Version97to2003);
}

看效果:

.NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析

而如果要訪問(wèn)對(duì)應(yīng)單元格的值,也是可以直接通過(guò)上述CellRange獲取單元格對(duì)象后,直接訪問(wèn)其屬性Value,或者Text,NumberValue來(lái)獲取你想要類型的值,不需要自己轉(zhuǎn)換。但是前提你要知道單元格的格式。如下面代碼:

 Console.WriteLine(sheet.Range["A1"].Value);
 Console.WriteLine(sheet.Range["B1"].Text);

3.單元格的內(nèi)容格式與樣式

3.1 單元格的數(shù)據(jù)類型

  在使用NPOI的過(guò)程中,不僅單元格要頻繁Create,對(duì)寫入的數(shù)據(jù)格式也要設(shè)置,而在Spire.XLS中,這些變得更簡(jiǎn)單了。直接根據(jù)數(shù)據(jù)類型給指定屬性就OK了,非常簡(jiǎn)潔明了。例如,下面的代碼,直接向單元格寫入雙精度,日期和布爾類型的數(shù)據(jù),給NumberValue,DateTimeValue,BooleanValue屬性直接賦值就好了。

//向A1單元格寫入文字
sheet.Range["A1"].Text = "我是A1單元格";
sheet.Range[1, 2].Text = "我是第1行的第2個(gè)單元格";

sheet.Range["A3"].NumberValue = 100.23;
sheet.Range["A4"].DateTimeValue = DateTime.Now;   
sheet.Range["A5"].BooleanValue = true;

   是不是非常簡(jiǎn)單,一行代碼搞定的東西,以前可能要幾行,多了之后也有些頭疼。

3.2 單元格的字體格式

  以前的NPOI樣式的控制,要單獨(dú)新建樣式對(duì)象進(jìn)行設(shè)置,而在Spire.XLS中,更加直接,直接對(duì)Range的屬性進(jìn)行設(shè)置就好了,非常簡(jiǎn)單明了,看看我們對(duì)范圍內(nèi)的單元格是如何控制字體格式的,只列舉了幾個(gè)屬性,其他屬性以此類推:

1 //對(duì)一定范圍內(nèi)的單元格進(jìn)行字體控制
2 sheet.Range["A1:B10"].Style.Font.FontName = "微軟雅黑";//字體名稱
3 sheet.Range["A1:B10"].Style.Font.Size = 20;//字體大小
4 sheet.Range["A1:B10"].Style.Font.Underline = FontUnderlineType.DoubleAccounting;//下劃線類型
看看效果:

.NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析

  是不是更簡(jiǎn)單,Range的范圍選擇也很靈活。

3.3 合并單元格

  合并單元格在用Excel做報(bào)表的時(shí)候很有用,在C#中操作合并單元格,其實(shí)也非常容易。

//將A5-B6的單元格合并
sheet.Range["A5:B6"].Merge();
//將某一行全部合并
sheet.Rows[7].Merge();

這里要注意:合并一行的話,不是把所有一行單元格都合并掉,而是默認(rèn)合并到最后一列(取最大有值的列)。效果如下:

.NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析

  有的時(shí)候需要取消合并單元格,其實(shí)和上面原理是一樣的,用的是UnMerge方法。這里就不再演示。

感謝各位的閱讀!關(guān)于“.NET讀寫Excel工具Spire.Xls之Excel單元格控制的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI