ウェブサイトから例を取り、Gembox コンポーネントの FindText メソッドによって識別されるセルの内容に基づいて特定のセルにタグを付けるループを作成しようとしました。
私の目標は:
- キーワードが部分的に一致するセルを見つける
- その行の最後の列に移動する
- その行の色を特定の色に変更する
- 前のコマンドを繰り返してドキュメントを下に移動し続ける
- ドキュメントが終了したら停止する
検索は、クエリを見つけてから指示したことを実行するという意味で機能しますが、最初の検索結果の後に停止します。
この方法を使用して検索をループする方法はありますか、それとも別の方法を使用してセルをテストし、検索対象の部分的な部分があるかどうかを確認できますか?
これは、私の知識の基になっているリンクです:
https://www.gemboxsoftware.com/spreadsheet/examples/excel-search/109
みんなありがとう。
以下は、システムが1つのクエリベースでどのように機能するかを考えている私です。ドキュメント全体に対してこれを行いたいと思います
using System;
using System.Drawing;
using System.Text;
using System.IO;
using GemBox.Spreadsheet;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace autoexcel2
{
class Program
{
[STAThread]
static void Main(string[] args)
{
//IF USING PRO PUT YOUR SERIAL BELOW
SpreadsheetInfo.SetLicense("FREE-lIMITED-KEY");
ExcelFile ef = ExcelFile.Load("sample.xlsx");
string searchText = "pharma";
var ws = ef.Worksheets[0];
StringBuilder sb = new StringBuilder();
int row;
int col;
ws.Cells.FindText(searchText, false, false, out row, out col);;
if (row == -1 || col == -1)
{
sb.AppendLine("cant find nada");
Console.WriteLine(sb.ToString());
}
else
{
ws.Cells[row,5].Style.FillPattern.SetSolid(Color.Aqua);
}
ef.Save("done.xlsx");
}
}
}