C # Excel InterOp: Suppression de toutes les lignes au-dessous de la ligne 2

Cela ne devrait pas être difficile, mais jusqu'à présent, toutes les solutions que j'ai trouvées ne fonctionnent pas. Fondamentalement, je remplis une feuille Excel commençant par la ligne 3 en utilisant une application de console C #. La partie de la population fonctionne mais ce que je dois faire, c'est de supprimer toutes les lignes avec leurs données à partir de la ligne 3. Et voici mon code jusqu'à présent:

Excel.Range xlRange = xlWorkSheet.UsedRange; for (int j = 3; j <= xlRange.Rows.Count; j++) { /// xlRange.Rows[j].EntireRow.Delete(Excel.XlDeleteShiftDirection.xlShiftUp); xlRange.Rows[j].Delete(Excel.XlDeleteShiftDirection.xlShiftUp); } 

Remarque, les deux ont commenté le code et le code fonctionnel générer quelque chose comme la fonction Supprimer ne peut être atteint.

Merci!

Mise à jour 1 Il semble que ce qui suit fonctionne dans la boucle sur un autre file Excel; Il existe donc une sorte de locking sur l'autre file Excel.

  ((Excel.Range)xlWorkSheet.Rows[j]).Delete(Excel.XlDeleteShiftDirection.xlShiftUp); 

Mise à jour 2

Donc, oui, de façon étrange, le file XLS original est protégé par mot de passe et je n'ai pas encore de mot de passe. Le file me permet d'écrire de nouvelles valeurs et de surcrire des valeurs existantes ne me permet pas de supprimer des lignes!

Ce qui suit fonctionne pour moi, mais pas sur le file nécessaire en raison de la protection par mot de passe sur ce file, comme indiqué dans mes «mises à jour» de la Question. Il existe des macros dans le file requirejs et je ne peux pas simplement utiliser des work-around comme le téléchargement dans Google Docs, etc.

HTH

  ((Excel.Range)xlWorkSheet.Rows[j]).Delete(Excel.XlDeleteShiftDirection.xlShiftUp);