C# 是否在现有excel工作表的开头插入单元格范围?

C# 是否在现有excel工作表的开头插入单元格范围?,c#,excel,vsto,C#,Excel,Vsto,我有一个5行3列的工作表。我复印了这张纸: activeSheet.Copy(Type.Missing, activeSheet); var outputSheetIndex = activeSheet.Index + 1; var outputSheet = (Worksheet)application.Sheets[outputSheetIndex]; 以上步骤将该工作表复制到另一个工作表中。现在我想在outputSheet中插入另一个范围,并将outputSheet列向右移动 我不确

我有一个5行3列的工作表。我复印了这张纸:

activeSheet.Copy(Type.Missing, activeSheet);

var outputSheetIndex = activeSheet.Index + 1;

var outputSheet = (Worksheet)application.Sheets[outputSheetIndex];
以上步骤将该工作表复制到另一个工作表中。现在我想在outputSheet中插入另一个范围,并将outputSheet列向右移动

我不确定在哪个范围对象上应用
Insert
方法

我尝试在开始时创建一个要插入的新范围,但这不起作用:

 var startCell = outputSheet.Cells[1, 1];
                    var endCell = outputSheet.Cells[output.Count(),
                        properties.Length + 1];

              var writeRange = outputSheet.Range[startCell, endCell];

writeRange.Insert(XlInsertShiftDirection.xlShiftToRight);

当我插入writeRange时,我希望将现有的数据范围向右移动。

如果您只想在新的(复制的工作表)上插入一个空白列,我认为这样做可以:

outputSheet.Range["A:A"].Insert(
    Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftToRight,
    Type.Missing);

如果您想在其他地方使用该列,您可以将“A:A”更改为所需的范围。

如果您只想在新的(复制的工作表)上插入一个空白列,我认为这可以:

outputSheet.Range["A:A"].Insert(
    Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftToRight,
    Type.Missing);
如果您想在其他地方使用该列,可以将“A:A”更改为所需的范围