使用下方而非上方行的格式插入 Excel 行

Insert Excel row using format from row below, not above

我需要使用 C# 在现有 Excel 工作表中插入一行,但保留现有格式。

Excel 中的默认行为是使用上面行的格式,在某些情况下这是我不想要的,因为这可能会有所不同。

我确定我已经看到有一种方法可以使用下面行的格式而不是上面行的格式来指定,但我现在找不到它。

有人知道如何指定吗?

这是我使用的代码:

sheet.Range[string.Format("{0}:{0}", row)]
  .EntireRow
  .Insert(
  Excel.XlInsertShiftDirection.xlShiftDown);

您还需要使用 CopyOrigin 参数。

sheet.Range[string.Format("{0}:{0}", row)]
  .EntireRow
  .Insert(
  Excel.XlInsertShiftDirection.xlShiftDown,
  Excel.XlInsertFormatOrigin.xlFormatFromRightOrBelow
)

有关 Insert and that enum 的详细信息,请参阅此处。

可以通过录制宏的方式获取该参数。插入行时会弹出一个小框来选择格式的来源。