使用下面一行中的格式插入Excel行,而不是上面的行

我需要使用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和enum的详细信息,请参阅此处。

通过录制macros可以获得这个参数。 当插入行来select格式的来源时,popup一个小框。

格式选项