2024/04/16(Tue) 11:29:30 編集(投稿者)
COM オートメーション使用でなら
Excelとの通信回数を少なくすることです。
案1
セルの値を配列で取得する。(魔界の仮面弁士さんも書かれています)
var cells = (object[,])excelWorksheet.UsedRange.Value2;
for (int i = 1; i <= rowCount; i++)
{
//y列に何か入っている場合は次の行に飛びまして
if (Convert.ToString(cells[i, 25]) != "") continue;
案2
テキストファイルに変換し、テキストファイルで作業する。
var filepath = System.IO.Path.GetTempPath() + System.IO.Path.GetRandomFileName();
excelWorkbook.SaveAs(filepath, 42, …); //Unicode テキスト
var lines = File.ReadAllLines(filepath);
File.Delete(filepath);