C# 在excel中查找及替換數據


 

在使用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()就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM