如何使用Microsoft Interop将工作表开始处的新列添加到现有的Excel中

我有一个excel 8列。 我试图在工作表的开头添加一个新的列。 现有的专栏应该改变。

下面是我试过的代码:

OpenExcelWorkbook(@"d:\TLC\TLC3.xlsx"); _sheet = (Excel.Worksheet)_sheets[1]; _sheet.Select(Type.Missing); _sheet.Columns.Insert(1, 1); 

但是我收到以下错误:

为了防止可能的数据丢失,Excel无法将非空单元格从工作表中移出。 select插入新单元格的另一个位置,或从工作表末尾删除数据。 如果单元格中没有数据可以从工作表中移出,则可以重置Excel认为非空白的单元格。 为此,请按CTRL + End以在工作表上find最后一个非空单元格。 删除这个单元格以及它和最后一行数据的所有单元格然后保存。

改变你的插入语句

 ((Range) workSheet.Columns[1]).Select(); ((Range) workSheet.Columns[1]).Insert(XlInsertShiftDirection.xlShiftToRight, XlInsertFormatOrigin.xlFormatFromLeftOrAbove); 

下面的代码为我工作…

 OpenExcelWorkbook(FileUpload1.PostedFile.FileName); _sheet = (Excel.Worksheet)_sheets[1]; _sheet.Select(Type.Missing); //Insert a column _sheet.get_Range("A1", "A500").Insert(Type.Missing, Type.Missing);