.NET读写Excel工具Spire.Xls使用 Excel单元格控制(3)

前一篇文章:“ .NET读写Excel工具Spire.Xls使用(2)Excel文件的控制”给大家介绍了C#使用Spire.XLS来控制Excel文件的基本功能和相关实践代码。这篇文章将重点介绍C#操作Excel文件时,对Excel单元格的控制。

  以前在使用NPOI的时候,其实印象最深的还是单元格的操作,因为以前使用NPOI的主要任务是生成一个复杂的统计报表,不仅表头比较复杂,而且行类别的控制也比较复杂,不是固定的,要动态的进行。并且不同单元格的边框还不一样,所以当初使用 NPOI 也走了不少弯路。对单元格的控制是写入Excel文件的最核心的东西。所以本篇文章就介绍我在使用Spire.XLS过程中相关单元格的控制总结。

1.Excel单元格概述

  Excel单元格是表格的最小编辑单元,也是操作的主体,日常涉及到的相关功能有:

1.对指定单元格读写内容:读写内容的时候,有一些操作可以和格式控制,如单元格的类型进行合并;

2.对单元格的格式进行控制,如数字,字符串,文字颜色,字体大小等等;对于自定义报表等文件,这个要求是比较常见的;

3.对单元格的样式进行控制,如边框线条(样式,颜色),内容对齐,合并单元格等等,也是很常见的;

4.单元格的相关统计,如一些函数,求和统计功能等等;

5.单元格的保护功能可以参考上一篇文章.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制

  接下来的内容主要对上述4个主要用途进行演示,附一些实际代码。如果有需要补充的,请留言。

2.单元格内容的读写

  在Spire.XLS中读写单元格,主要的一个对象不可不知,那就是CellRange,代表是单元格的一个范围集合,可以根据单元格的名称如A1,B2来返回单元格集合,也可以根据行号和列号(下标从1开始)来访问。例如下面的代码,直接对A1单元格赋值,然后对第一行第2个单元格赋值。相比NPOI,不停的Create再赋值,这确实方便不少。看代码:

static void ExcelTest5()
{
 //创建1个工作簿,相当于1个Excel文件
 Workbook workbook = new Workbook();

 //获取第一个sheet,进行操作,下标是从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);
}

看效果:

而如果要访问对应单元格的值,也是可以直接通过上述CellRange获取单元格对象后,直接访问其属性Value,或者Text,NumberValue来获取你想要类型的值,不需要自己转换。但是前提你要知道单元格的格式。如下面代码:

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

3.单元格的内容格式与样式

3.1 单元格的数据类型

  在使用NPOI的过程中,不仅单元格要频繁Create,对写入的数据格式也要设置,而在Spire.XLS中,这些变得更简单了。直接根据数据类型给指定属性就OK了,非常简洁明了。例如,下面的代码,直接向单元格写入双精度,日期和布尔类型的数据,给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样式的控制,要单独新建样式对象进行设置,而在Spire.XLS中,更加直接,直接对Range的属性进行设置就好了,非常简单明了,看看我们对范围内的单元格是如何控制字体格式的,只列举了几个属性,其他属性以此类推:

1 //对一定范围内的单元格进行字体控制
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();

这里要注意:合并一行的话,不是把所有一行单元格都合并掉,而是默认合并到最后一列(取最大有值的列)。效果如下:

  有的时候需要取消合并单元格,其实和上面原理是一样的,用的是UnMerge方法。这里就不再演示。

3.4 单元格的其他功能

  其实单元格的操作还有很多,例如格式的复制应用到其他单元格,隐藏行或者列,插入行或者列等等,这些做起来其实都很简单,可以参考官方网站提供的教程,由于我这方面用得少,就不详细介绍了,以后自己用得上的话,也是去翻这些文档:官方教程链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • .NET读写Excel工具Spire.Xls使用入门教程(1)

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装Excel,对于服务器,有时候还需要为配置IIS权限.折腾人,看到很多人在群里面使用这个东西,出现各种抓狂的错误: 这里特别感谢:PowerShell免费软件 的回复,用用powershell + excel 2007的方式,他很好的解决问题.其实我想说的是,Office既然提供了对com组件的支持,

  • .NET读写Excel工具Spire.Xls使用 重量级的Excel图表功能(5)

    前一篇文章:".NET读写Excel工具Spire.Xls使用(4)对数据操作与控制"给大家介绍了Spire.XLS对数据的控制相关功能,这一篇给大家介绍Spire.XLS最大的亮点所在,C#控制Excel生成图表.将介绍C#生成不同类型图表的方法,并介绍Excel图表的相关操作,如调整大小,保存图片等操作的方法. 1.Excel中的图表 我们生活的这个世界是丰富多彩的,几乎所有的知识都来自于视觉.也许无法记住一连串的数字,以及它们之间的关系和趋势.但是可以很轻松地记住一幅图画或者一个

  • .NET读写Excel工具Spire.Xls使用 Excel文件的控制(2)

    前一篇文章:" .NET操作Excel利器Spire.Xls使用(1)入门介绍 "给大家介绍了Spire.XLS的基本功能和一些比较.这篇文章将重点介绍C#操作Excel文件时,对Excel文件本身的相关设置,全局控制的内容.因为这也是C#读写Excel文件时经常碰到的文章,也是我在使用过程中的一个学习步骤.本文将首先介绍Spire.XLS创建和加载文档的基础知识,以及文件保存,多个Excel文件合并的操作方法,其中我们还可以对生成的Excel文件做更多详细的设置,如,对Excel文件

  • .NET读写Excel工具Spire.Xls使用 对数据操作与控制(4)

    Spire.Office for .NET是E-iceblue开发的一种企业级.NET Office编辑的软件集合,包括Spire.Doc,Spire XLS,Spire.PDF,Spire.BarCode等等..NET平台的开发人员可以使用Spire.Office for .NET轻松的操作含有文档编辑功能的应用程序,还可以导出为MS Word/Excel/RTF/Acces.PDF.XPS.HTML.XML等格式,使用Spire.Office,不需要安装Microsoft Office.虽然

  • .NET读写Excel工具Spire.Xls使用 Excel单元格控制(3)

    前一篇文章:" .NET读写Excel工具Spire.Xls使用(2)Excel文件的控制"给大家介绍了C#使用Spire.XLS来控制Excel文件的基本功能和相关实践代码.这篇文章将重点介绍C#操作Excel文件时,对Excel单元格的控制. 以前在使用NPOI的时候,其实印象最深的还是单元格的操作,因为以前使用NPOI的主要任务是生成一个复杂的统计报表,不仅表头比较复杂,而且行类别的控制也比较复杂,不是固定的,要动态的进行.并且不同单元格的边框还不一样,所以当初使用 NPOI 也

  • python实现对excel中需要的数据的单元格填充颜色

    前言: 一般处理数据使用的是pandas和numpy库,但是填充单元格颜色需要在excel中,使用的是openpyxl库,所以不能直接达到我们的需求,需要进行两个库的链接使用,先说下openpyxl填充色,pandas是直接读取数据,但是openpyxl则不是,必须要sheet处于active状态,而且必须进行sheet选择才可以读取数据 import openpyxl from openpyxl import load_workbook # 比如打开test.xlsx wb = load_wo

  • Python excel合并居中值相同的单元格实例代码

    目录 前言 处理前的单元格 代码分解讲解 总结 前言 这里要说明一下,本文包含的代码其中一部分并不是自己写的,是我找了很多文章拼凑出来的,比如如何找相同内容的单元格.怎么合并.怎么居中等等.出处许多,这边就不一个个放链接了.就当做一份自己写的学习笔记供大家参考. 本文结构 是分段讲解代码,文末放全部的代码 处理前的单元格   -----------------------> 可以看到有一些名字是重复的,我们现在要做的就是把这些重复的名字合并居中,程序执行完的效果如图. (大家可能会说,这不是多此

  • C#组件系列 你值得拥有的一款Excel处理神器Spire.XLS

    前言:最近项目里面有一些对Excel操作的需求,博主想都没想,NPOI呗,简单.开源.免费,大家都喜欢!确实,对于一些简单的Excel导入.导出.合并单元格等,它都没啥太大的问题,但是这次的需求有两点是NPOI搞不定的: 1.导入Excel后,需要切割Excel的Sheet页,然后每个Sheet页单独生成一个PDF文件. 2.导出Excel的时候,项目里面需要将一些数据表格以图表的形式在Excel里面展示. 找了一圈资料,对于Excel生成pdf,网上的答案千篇一律:使用COM组件的方式,通过调

  • 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Excel中格式的设置,以及单元格的合并等等.下面就介绍下,使用NPOI类库操作Excel的方法. 1.首先我们先在内存中生成一个Excel文件,代码如下:   HSSFWorkbook book = new HSSFWorkbook();        ISheet sheet = book.CreateSheet("Sheet1"); 2.然后在新创建的sheet里面,创建我们的行和列,代码如下

  • 利用matlab与Excel交互之单元格操作

    目录 前言 单元格内容操作 1.设置单元格的值 2.复制,粘贴,剪切 3. 将单元格内容作为图片复制到剪切板 4.向Excel添加MATLAB中的图片 单元格属性操作 1. 设置单元格内字体样式 2. 设置单元格颜色 3. 合并单元格 4.文本对齐设置 5.宽度和高度设置 总结 前言 接上文 matlab与Excel交互 非xlsread和xlswrite (1) ,此处默认: Excel=actxserver('Excel.application'); Workbook 为已添加工作簿 单元格

随机推荐