次のコードを使用してExcelの行フォーマット(テンプレート行)をデータで満たされた行の範囲にコピーしますが、それ以上の行では非常に遅くなります(現在のテストでは約33000行目標範囲として)。Excelのセルフォーマットを非常に遅い範囲にコピー
プロセス全体を遅くする行はRange.PasteSpecial(...);
です。行は数秒かかるでしょう。それには数分かかります。
range = worksheet.Range[worksheet.Cells[9, 1], worksheet.Cells[9, 44]];
range.Copy();
range = worksheet.Range[worksheet.Cells[10, 1], worksheet.Cells[iRow + 8, 44]];
range.PasteSpecial(XlPasteType.xlPasteFormats, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
excel.CutCopyMode = 0;
範囲形式を盗んと高速(も秒以内)、おそらく、別の範囲に設定する別のアプローチがありますか?
はinterop excelですか?または、他の何か? –
があなたの問題に関連している可能性があります。https://stackoverflow.com/questions/24029822/excel-range-copy-works-very-slowly/33178551#33178551 –
@DanielTshuvaはい、それは相互運用性に優れています。 – DrNachtschatten