0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C#とVB.NETでExcelのデータを検索する

Posted at

はじめに

Excelでデータを検索してハイライト表示することは、特定の条件に一致するセルや値を素早く特定し、目立たせるための便利な機能です。大規模なスプレッドシートを処理する際に特に役立ちます。手動での検索だけでなく、プログラミングを使用して特定のデータを検索してハイライト表示することも可能です。この記事では、C#およびVB.NETプログラムを使用してExcel内の指定されたデータを検索してハイライト表示する方法について紹介します。

ツール

このライブラリは、無料でExcelファイルを作成、編集、変換することができますが、ページ数の制限があります。または、有料版の製品の無料トライアルを申し込むこともできます。

有料版: Spire.XLS for .NET

インストール方法

1.Free Spire.XLS for .NETをダウンロードします。
2.Visual Studioで新しいプロジェクトを作成します。
3.「Solution Explorer」>「References」を右クリックし、「Add Reference」>「Browse」を選択します。
4.BINフォルダ内のdllファイルを見つけて、「OK」をクリックします。

方法とコード

  • Workbook クラスのインスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルをロードします。
  • Workbook.Worksheets[sheetIndex] プロパティを使って、指定したワークシートを取得します。
  • Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) メソッドで、一致するテキストがあるセルをすべて検索しています。
  • CellRange.Style.Color プロパティを使って、セルを強調する色を設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果ファイルを保存します。

C#:

using Spire.Xls;
using System.Drawing;

namespace FindHighlight
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを作成する
            Workbook workbook = new Workbook();

            //Excelファイルをロードする
            workbook.LoadFromFile("Sample.xlsx");

            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //テキスト「500」を含むすべてのセルを検索する
            foreach (CellRange range in sheet.FindAllString("5000", true, true))
            {
                //セルを強調するための色を設定する
                range.Style.Color = Color.Yellow;
            }

            //結果ファイルを保存する
            workbook.SaveToFile("Result.xlsx", ExcelVersion.Version2016);
        }
    }
}

VB.NET:

Imports Spire.Xls
Imports System.Drawing

Namespace FindHighlight
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Workbookクラスのインスタンスを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelファイルをロードする
            workbook.LoadFromFile("Sample.xlsx")

            '最初のワークシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'テキスト「500」を含むすべてのセルを検索する
            Dim range As CellRange
            For Each range In sheet.FindAllString("5000", True, True)
                'セルを強調するための色を設定する
                range.Style.Color = Color.Yellow
            Next

            '結果ファイルを保存する
            workbook.SaveToFile("Result.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?