2010-09-13 18 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

相關問題