最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET讀寫Excel工具Spire.Xls使用 Excel單元格控制(3)

 更新時間:2017年11月20日 11:00:59   作者:數(shù)據(jù)之巔  
這篇文章主要為大家詳細(xì)介紹了.NET讀寫Excel工具Spire.Xls使用,Excel單元格控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前一篇文章:“ .NET讀寫Excel工具Spire.Xls使用(2)Excel文件的控制”給大家介紹了C#使用Spire.XLS來控制Excel文件的基本功能和相關(guān)實踐代碼。這篇文章將重點介紹C#操作Excel文件時,對Excel單元格的控制。

  以前在使用NPOI的時候,其實印象最深的還是單元格的操作,因為以前使用NPOI的主要任務(wù)是生成一個復(fù)雜的統(tǒng)計報表,不僅表頭比較復(fù)雜,而且行類別的控制也比較復(fù)雜,不是固定的,要動態(tài)的進(jìn)行。并且不同單元格的邊框還不一樣,所以當(dāng)初使用 NPOI 也走了不少彎路。對單元格的控制是寫入Excel文件的最核心的東西。所以本篇文章就介紹我在使用Spire.XLS過程中相關(guān)單元格的控制總結(jié)。

1.Excel單元格概述

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

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

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

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

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

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

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

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

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

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

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

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

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

看效果:

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

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

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

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

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

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

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

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

3.2 單元格的字體格式

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

1 //對一定范圍內(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;//下劃線類型
看看效果:

  是不是更簡單,Range的范圍選擇也很靈活。

3.3 合并單元格

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

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

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

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

3.4 單元格的其他功能

  其實單元格的操作還有很多,例如格式的復(fù)制應(yīng)用到其他單元格,隱藏行或者列,插入行或者列等等,這些做起來其實都很簡單,可以參考官方網(wǎng)站提供的教程,由于我這方面用得少,就不詳細(xì)介紹了,以后自己用得上的話,也是去翻這些文檔:官方教程鏈接

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • asp.net窗體的打開和關(guān)閉(輸出js)

    asp.net窗體的打開和關(guān)閉(輸出js)

    asp.net窗體的打開和關(guān)閉(輸出js),需要的朋友可以參考下。
    2011-06-06
  • .NET 8實現(xiàn)大文件分片上傳的高效方案匯總

    .NET 8實現(xiàn)大文件分片上傳的高效方案匯總

    在當(dāng)今互聯(lián)網(wǎng)應(yīng)用中,大文件上傳是一個常見需求,尤其是對于云存儲、視頻網(wǎng)站、企業(yè)文檔管理系統(tǒng)等場景,傳統(tǒng)的單次文件上傳方式在面對大文件時往往會遇到網(wǎng)絡(luò)不穩(wěn)定、內(nèi)存占用高、上傳失敗需重傳整個文件等問題,本文將介紹如何在.NET 8中實現(xiàn)高效穩(wěn)定的大文件分片上傳方案
    2025-04-04
  • asp.net 使用Silverlight操作ASPNETDB數(shù)據(jù)庫

    asp.net 使用Silverlight操作ASPNETDB數(shù)據(jù)庫

    asp.net下使用Silverlight操作ASPNETDB數(shù)據(jù)庫的實現(xiàn)代碼
    2010-01-01
  • ASP.NET MVC實現(xiàn)依賴注入的完整過程

    ASP.NET MVC實現(xiàn)依賴注入的完整過程

    這篇文章主要給大家介紹了關(guān)于ASP.NET MVC實現(xiàn)依賴注入的完整過程,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET MVC具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • DataView.RowFilter的使用(包括in,like等SQL中的操作符)

    DataView.RowFilter的使用(包括in,like等SQL中的操作符)

    這篇blog轉(zhuǎn)自C# examples,對DataView.RowFilter做了詳細(xì)介紹,能像SQL中使用in,like等操作符一樣進(jìn)行過濾查詢,并附有實例,使用方便。
    2011-07-07
  • .Net程序內(nèi)存異常的原因及解決

    .Net程序內(nèi)存異常的原因及解決

    這篇文章主要介紹了.Net程序內(nèi)存異常的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下
    2021-04-04
  • ASP.NET AJAX 4.0的模版編程(Template Programming)介紹

    ASP.NET AJAX 4.0的模版編程(Template Programming)介紹

    不過當(dāng)我評估ASP.NET AJAX 4.0的時候,我確實被它的特征給震住了。新的特征完全專注于瀏覽器技術(shù),比如XHTML和javascript。 我非常欽佩ASP.NET AJAX小組。
    2009-07-07
  • ASP.NET Core實現(xiàn)自動依賴注入

    ASP.NET Core實現(xiàn)自動依賴注入

    這篇文章主要介紹了ASP.NET Core實現(xiàn)自動依賴注入的示例,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下
    2021-04-04
  • Repeater與ListView功能概述及使用介紹

    Repeater與ListView功能概述及使用介紹

    Repeater(foreach)用于對綁定數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行遍歷并按格式顯示,Repeater一般只用來展示數(shù)據(jù)ListView會自動生成很多模板,免去手寫模板代碼的麻煩,感興趣的你可以了解下本文
    2013-02-02
  • .net mvc頁面UI之Jquery博客日歷控件實現(xiàn)代碼

    .net mvc頁面UI之Jquery博客日歷控件實現(xiàn)代碼

    最近在做一個博客系統(tǒng),其他需要用到博客日歷控件,網(wǎng)上搜索了很多資料,其中大部分都是javascript的,經(jīng)過總結(jié)使用jquery實現(xiàn)了博客日歷效果。代碼如下
    2013-09-09

最新評論

万年县| 磐安县| 津南区| 佛冈县| 东源县| 宁强县| 扶沟县| 临朐县| 定州市| 新沂市| 禄劝| 太原市| 双辽市| 左权县| 关岭| 平湖市| 大理市| 普宁市| 育儿| 九台市| 湘西| 南宁市| 黑山县| 乐亭县| 雷波县| 来宾市| 志丹县| 庄河市| 澄江县| 广饶县| 海阳市| 榆树市| 汉中市| 桐梓县| 南川市| 新昌县| 洪洞县| 永寿县| 拉萨市| 鱼台县| 许昌市|