2010-09-13 5 views
2

J'ai un Excel avec 8 colonnes. J'essaie d'ajouter une nouvelle colonne au début de la feuille de calcul. Les colonnes existantes devraient changer.Comment ajouter une nouvelle colonne au début de la feuille de calcul à un Excel existant en utilisant Microsoft Interop

est Ci-dessous le code que j'ai essayé:

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

      _sheet.Select(Type.Missing); 

      _sheet.Columns.Insert(1, 1); 

Mais je reçois l'erreur suivante:

Pour éviter toute perte de données, Excel ne peut pas déplacer les cellules non vides hors de la feuille de calcul. Sélectionnez un autre emplacement dans lequel insérer de nouvelles cellules ou supprimez des données à la fin de votre feuille de calcul. Si vous n'avez pas de données dans les cellules qui peuvent être déplacées hors de la feuille de calcul, vous pouvez réinitialiser les cellules que Excel considère comme non vides. Pour ce faire, appuyez sur CTRL + End pour localiser la dernière cellule non vide sur la feuille de calcul. Supprimer cette cellule et toutes les cellules entre elle et la dernière ligne et la colonne de vos données, puis enregistrez.

Répondre

1

Le code suivant a fonctionné pour moi ...

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

Changer votre instruction d'insertion à

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

Cela devrait fonctionner aussi .... – Vijay

Questions connexes