使用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;