0

~1500 行のデータを含むスプレッド シートがあります。スプレッドシートの先頭に行を挿入する場合、次のコードを使用すると、1 行を挿入するパフォーマンスが約 2.5 秒になることがわかりました。

Excel.Range insert_range = _excel.Worksheets["Sheet Name"].Range[insert_address];
insert_range.Insert(Excel.XlDirection.xlDown, Type.Missing);

ただし、行数を (挿入ごとに) 20 に増やした場合、パフォーマンスは約 2.5 秒で一定のままです。

Excel がこれらの行を挿入する速度を上げる方法はありますか?

編集

パフォーマンスは、シート内の既存のデータの量に相関しているように見えます。たとえば、150 行を含むシートでは、0.23 秒かかり、比例しているように見えます。

ありがとう

4

1 に答える 1

0

ありがとう、皆さん。

Pynner が提案したように、行をデータセットの一番下に追加することが最善の選択肢であることがわかりました。

ティム、私は ScreenUpdating を無効にし、Calculation = Manual を設定しましたが、これは大きな影響を与えませんでした。

ありがとう

于 2013-01-09T07:39:15.953 に答える