使用c#插入excel范围作为行和复制格式的更好的方法

在向它们写入数据之前,我必须多次插入具有许多合并单元格,样式和数字格式的范围行。 当我插入一行不复制maerged单元格,样式或数字格式等。因此,我select范围作为一行并插入相同,并复制前一行到新插入的行。 这个过程需要越来越多的时间,因为我不得不这样做了很多次。 我就是这样做的

Range rangeToInsert = Worksheet1.get_Range("a" + Convert.ToString(20), "z" + Convert.ToString(20)); Range rangeToInsertRow= rangeToInsert.EntireRow; rangeToInsertRow.Insert(app.XlInsertShiftDirection.xlShiftDown, false); Range InsertedRowRange= Worksheet1.get_Range("a" + Convert.ToString(newrowNum), "z" + Convert.ToString(newrowNum)); rangeToInsert.copy(InsertedRowRange); 

请build议是否有任何优化我的代码做行插入/复制风格更快。

也许试试这个

 Range rngToCopy = ws.get_Range("A" + 20, "Z" + 20); rngToCopy.Copy(); rngToCopy.Offset[1, 0].Insert(XlInsertShiftDirection.xlShiftDown, XlInsertFormatOrigin.xlFormatFromLeftOrAbove); 

你也可以将整个复制粘贴代码片段( 在任何单元格上工作之前

 xlApp.ScreenUpdating = false; 

和( 完成修改单元格后

 xlApp.ScreenUpdating = true;