C# 是否在现有excel工作表的开头插入单元格范围?
我有一个5行3列的工作表。我复印了这张纸: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列向右移动 我不确
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”更改为所需的范围