在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方。微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,我们可以快速地找到想要的数据并一次性对一个或多个单元格的数据进行更改或更新。但对于开发来说,有时我们可能需要通过编程的方式来实现它。这篇文章讲述的是怎样使用C#来实现excel的查找和替换功能。

这是Excel工作表的截图:

我需要上表格中单元格A5和A6的数据Canada替换为British。

详细步骤:

首先,新建一个visual C#控制台项目,添加引用并使用如下命名空间:

using System.Drawing;
using Spire.Xls;

步骤1新建一个Workbook类的对象,并加载excel文档。

Workbook workbook = new Workbook();
workbook.LoadFromFile("统计表.xlsx");

步骤2获取需要替换文本的工作表,此处是第一个工作表。

Worksheet sheet = workbook.Worksheets[0];

步骤3通过调用Worksheet.FindAllString()方法,查找文本Canada并将它们全部替换为British。这里我还设置了高亮色,方便快速地找到替换过的数据。

CellRange[] ranges = sheet.FindAllString("Canada", false, false);
foreach (CellRange range in ranges)
{
range.Text = "British";
range.Style.Color = Color.LawnGreen;
}

步骤4保存文件并重新打开。

workbook.SaveToFile("替换.xlsx");
System.Diagnostics.Process.Start("替换.xlsx");

效果图:

 

全部代码:

using System.Drawing;
using Spire.Xls; namespace Excel查找和替换
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = new Workbook();
workbook.LoadFromFile("统计表.xlsx"); Worksheet sheet = workbook.Worksheets[0];
CellRange[] ranges = sheet.FindAllString("Canada", false, false);
foreach (CellRange range in ranges)
{
range.Text = "British";
range.Style.Color = Color.LawnGreen;
} workbook.SaveToFile("替换.xlsx");
System.Diagnostics.Process.Start("替换.xlsx");
}
}
}

在这个项目中,我使用的是免费版Spire.XLS,需要注意的是这个例子中我查找和替换的是string类型的数据,也就是文本,因此使用的是Worksheet.FindAllString()方法。如果要查找和替换数字,改为FindAllNumber()就可以了。

C# 在excel中查找及替换数据的更多相关文章

  1. 如何在open xml excel 中存储自定义xml数据?

    如何在open xml excel 中存储自定义xml数据? 而且不能放在隐藏的cell单元格内,也不能放在隐藏的sheet内,要类似web网站的Application变量,但还不能是VBA和宏之类的 ...

  2. C# 在word中查找及替换文本

    C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...

  3. JS实现文本中查找并替换字符

    JS实现文本中查找并替换字符 效果图: 代码如下,复制即可使用: <!DOCTYPE html><html> <head> <style type=" ...

  4. Excel中的一列数据变成文本的一行数据

    Excel中的一列数据变成文本的一行数据 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

  5. 如何利用excel中的数据源制作数据地图

    关于这个问题,制作数据地图的方法已不新奇,总体来说有这么几类方案: 一类方案:直接在excel里制作 优势:个人小数据量应用较为方便简单 缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高 1. ...

  6. Excel 之查找与替换

    Excel查找与替换 1,一旦学会查找,替换就简单了. 2,查找下面有一个选项,里面有对查找的范围进行限制 3,你可以选中一个区域,然后再查找,查找只会在你选择的区域里面进行 4,查找只能找特定值,而 ...

  7. [LeetCode] Find And Replace in String 在字符串中查找和替换

    To some string S, we will perform some replacement operations that replace groups of letters with ne ...

  8. 在LoadRunner中查找和替换字符串

    参考<Search & Replace function for LoadRunner>: http://ptfrontline.wordpress.com/2009/03/13/ ...

  9. java通过poi读取excel中的日期类型数据或自定义类型日期

    Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...

随机推荐

  1. poj3250

    //(栈)poj3250将第i头牛能看到多少牛传化为第i头牛能被多少牛看见 /* #include <stdio.h> #include <stack> using names ...

  2. PMP备考_第五章_项目范围管理_实践思考

    项目范围管理 前言 今天学习项目范围管理的内容,深切的感受到了原单位在项目管理方面存在的问题,今天在这里做一个总结,既相当于对项目范围的一个学习整理,也相当于自己对项目实践过程中存在问题的一个思考. ...

  3. easyUI在IE浏览器中列表不显示

    搜索网上答案挺多,这里我说下我遇到的问题. 我是在页面中有一个toolbar:toolbar属性,但是没有定义toolbar而IE兼容差就不能正确显示. 而其它浏览器兼容性高没问题.其它问题再搜吧!

  4. Javascript 小技能

     /* @@截取字符串长度,汉字算2个字符 @@return [string]+'...' */ var subString = function(str, len) {     var newLen ...

  5. JSP :运行最简单的 JSP 程序

    160916 1. 代码和显示效果 <%@ page contentType="text/html; charset=GB2312" %> <%@ page im ...

  6. java学习笔记(3)之面向对象(1)

    下面来谈谈我对面向对象的一些理解和总结. 1.什么叫面向对象?我自己的理解就是一种编程思想,强调对象,是一种思考问题的思维模式.在学习面向对象的时候,我们要建立起自己面向对象的思维模式. (1).先整 ...

  7. win 8 换 win7 注意事项

    win8 换win7 硬盘格式修改一下gpt 格式转换为mbr模式 当进入到要选择安装到某一个盘时,由于磁盘的类型不同,会提示:“选中的磁盘采用GPT分区形式无法安装系统”.这时需要重新设置分区形式( ...

  8. python网页抓取练手代码

    from urllib import request import html.parser class zhuaqu(html.parser.HTMLParser): blogHtml = " ...

  9. 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 1

    本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑而成,非原创,仅润色而已.另外,本文所列题目的解法并非只有一种,本文只是给出比较普通的一种而已,也希望各位园友能够自由发挥. 一.三点一 ...

  10. delegate、notification、KVO场景差别

    delegate: 编译器会给出没有实现代理方法的警告 一对一 使用weak而不是assign,或者vc消失时置为nil 可以传递参数,还可以接收返回值 notification: 编译期无法排错 一 ...