ワークシートに大量のデータが含まれている場合は、検索してハイライトすることで目的のデータをすばやく取得できます。この機能は、プログラムの方法で実装できます。使用したの.NETライブラリはFree Spire.XLS for .NETです。次に、具体的な操作手順とコードについて説明します。お役に立てばと思います。
Free Spire.XLS for .NETをインストールする
方法1:NuGetを介してFree Spire.XLS for .NETをインストールする
「ツール」>「NuGetパッケージマネージャ」>「パッケージマネージャコンソール」の順に選択し、次のコマンドを実行します。
PM> Install-Package FreeSpire.XLS
方法2:プログラムに手動でSpire.xls.dllファイルを導入する
Free Spire.XLS for .NETをローカルにダウンロードし、解凍してインストールします。インストールが完了したら、Visual Studioを開いて新しいプロジェクトを作成し、右側のソリューションエクスプローラで「参照」を右クリックし、「参照を追加」>「参照」を選択して、インストールパスの下の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("500", true, true))
{
//セルを強調するための色を設定する
range.Style.Color = Color.Yellow;
}
//結果ファイルを保存する
workbook.SaveToFile("データの検索とハイライト表示.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("500", True, True)
'セルを強調するための色を設定する
range.Style.Color = Color.Yellow
Next
'結果ファイルを保存する
workbook.SaveToFile("データの検索とハイライト表示.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace