我需要使用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
)


有关Insertthat enum的详细信息,请参见此处。

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

关于c# - 使用下一行而不是上一行的格式插入Excel行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30598084/

10-13 08:54
查看更多