C# Excel.Range Copy()的工作速度非常慢
我正在生成一个报告,尝试在其中复制以下行中的前一行单元格样式C# Excel.Range Copy()的工作速度非常慢,c#,office-interop,excel-interop,C#,Office Interop,Excel Interop,我正在生成一个报告,尝试在其中复制以下行中的前一行单元格样式 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.ge
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;
}
for(int i=0;i
一切正常,但时间很长
如何加快速度?我想您可以手动复制,这样会有所改进
Object[] origData = origRange.Value2;
destRange.Value2 = origData;
这应该快得多。定义“非常慢”。它可能只在您的机器上运行缓慢。你如何比较性能?如果我只是建立报告,他建立了2秒。如果我用完了样式-报告时间为15秒。报告中有105行。不应该这样。因此,我正在寻找一种更快的方法来复制rngtocopy.Copy(Type.Missing);我想都是因为这个方法