Calc C# 文字列検索&置換 処理速度を早くする方法

,

Calcにて、C#で文字列検索と置換の操作をコーディングしています。

現在はファイルオープン後、下記手順にて処理を実施しています。
1:シート情報取得(XSpreadsheetDocument Document.getSheets())
2:シート名取得(XSpreadsheets .getElementNames())
3:シート設定(XSpreadsheet getByName(stirng).Value)
4:範囲設定(XCellRange getCellRangeByName(string aRange))
5:4で指定した範囲のデータ取得(XCellRangeData .getDataArray())
6:5にて取得した配列データから、置換する文字列を検索、置換

この処理だと置換する対象のセル範囲が広い場合、
データ取得ならびに、検索と置換に膨大な時間がかかってしまいます。

そこで速度改善のためにも、
置換対象の文字列が一致しているセル番地の取得、
ならびに、置換の速度が速くなる方法がありましたら教えて頂きたいです。

※理想はCalcの検索ダイアログ画面から検索、置換する操作と
類似した内容をC#で実装したいです。

差し障りのない範囲で、サンプルを見せて頂けるとアドバイスしやすいかもしれません。

また、案としてODSファイルをZip展開して文字列置換して、再Zip圧縮、ODSにリネームという方法もあります。

hidemune様、ご回答ありがとうございます。
返信が遅くなりまして申し訳ございません。

サンプルの提示ができなくて申し訳ございません。
現在は、範囲を最低限にして速度が遅くならないように対応しています。

hidemune様がご提示頂きました内容は、
私にはなかった考えでしたので、試してみたいと思います。

2 Likes