Excelを使用してデータを処理する場合、ワークシートに多くのコンテンツが含まれている原因で、ある探したいデータを1行ずつ手動で検索すると、精確に見つけるのがかなり困難になります。Microsoft Excelは、非常に強力なデータ処理機能である、「検索と置換」を提供しています。この機能により、必要なデータをすばやく検索し、1つ以上のセルのデータを一度に変更または更新することができます。しかし、アプリケーションを開発するために、プログラムで実装する必要がある場合があります。この記事では、C#を使用してExcelデータの検索および置換機能を実現する方法について説明します。
まずは必要なコンポーネントをインストールします:Free Spire.XLS for .NET
無料なので、気軽にダウンロードしてください。
ではExcelのテーブルのスクリーンショットをご覧ください:
今はA5およびA6セルの「Canada」を「British」に変更することを例にしよう。
詳細な手順
まず、新しいVisual C#コンソールプロジェクトを作成し、参照を追加して、次の名前空間を使用します。
using System.Drawing;
using Spire.Xls;
手順1 新しいWorkbookクラスのオブジェクトを作成し、Excelドキュメントをロードします
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.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 SearchAndReplace
{
class Program
{
static void Main(string args)
{
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.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");
}
}
}
以上です、簡単な方法なのでよく理解いただきましたよね、最後まで読んでいただきありがとうございます。