Excel.Range Copy()的工作速度很慢

本文关键字:工作 速度 Range Copy Excel | 更新日期: 2023-09-27 18:06:28

我正在构建一个报告,其中尝试在以下

中复制先前的行单元格样式
for (int i = 0; i < DataSource.Length; i++)
{
    int rowNumber = i + s;
    Excel.Range RngToCopy = ObjWorkSheet.get_Range("A" + rowNumber.ToString(), "K" + rowNumber.ToString());
    Excel.Range r = ObjWorkSheet.get_Range("A" + (rowNumber + 1).ToString(), "K" + (rowNumber + 1).ToString());
    RngToCopy.Copy(Type.Missing);
    r.Insert(Excel.XlInsertShiftDirection.xlShiftDown);
    r.PasteSpecial(Excel.XlPasteType.xlPasteFormats,
                   Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
    ObjWorkSheet.Cells[rowNumber, 1] = i + 1;
    ObjWorkSheet.Cells[rowNumber, 2] = DataSource[i].TerminalName;
    ObjWorkSheet.Cells[rowNumber, 3] = DataSource[i].Type;
    ObjWorkSheet.Cells[rowNumber, 4] = DataSource[i].Requisite;
}

一切工作,但很长我怎样才能加快速度?

Excel.Range Copy()的工作速度很慢

我想你手工复制你会提高的。

Object[] origData = origRange.Value2;
destRange.Value2 = origData;