PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
C#

C#でExcelのセル読込が遅い場合

C#のClosedXMLにて、特定のセルを読み込むときだけ数分かかったりしてたのですが、原因が分かりました。
そのセルには計算式が記載されていて、最初の行あたりだと参照範囲が少ないので即座に終わるものの、行範囲していしていた場合は遅くなっている状況でした。
連番をつけるときに、セル飛び飛びになっても番号が続くように最初のあたり入れた式をコピペした場合、$指定しなかったら適時にその位置を元に計算式が書き換わっていて、Excel上で動く場合は問題ないんですが、
【計算式の例】
速い場合
=IF(K9=”削除”,””,COUNT($A$8:A8)+1)
→COUNTの範囲が1セルしかない
遅い場合
=IF(K25=”削除”,””,COUNT($A$8:A24)+1)
→COUNTの範囲が多数ある
仕方ないので、今回はExcelの連番をC#で振り直して計算式をなくした状態にして、修正後のファイルを読み込むようにしたところ速度改善されました。

コメント

タイトルとURLをコピーしました