2010-09-13 66 views
2

我有一个带有8列的excel。我试图在工作表的开头添加一个新列。现有的专栏应该改变。如何使用Microsoft Interop将工作表开始处的新列添加到现有的Excel中

下面是我试过的代码:

  OpenExcelWorkbook(@"d:\TLC\TLC3.xlsx"); 
      _sheet = (Excel.Worksheet)_sheets[1]; 

      _sheet.Select(Type.Missing); 

      _sheet.Columns.Insert(1, 1); 

但我发现了以下错误:

为了防止数据丢失,Excel不能非空单元格推卸的工作表。选择要插入新单元格的另一个位置,或从工作表末尾删除数据。如果单元格中没有可以从工作表中移出的数据,则可以重置Excel认为非空白的单元格。要这样做,请按CTRL +结束以查找工作表上的最后一个非空单元格。删除此单元格以及它与所有数据的最后一行和一列之间的所有单元格然后保存。

回答

1

下面的代码为我工作...

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); 
2

改变你的INSERT语句

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

这应该工作太.... – Vijay 2010-12-03 09:10:41

相关问题