2017-03-13 1 views
0

Dies sollte nicht schwer sein, aber bisher funktioniert nicht jede Lösung, die ich gefunden habe. Grundsätzlich bearbeite ich ein Excel-Blatt, das mit Zeile 3 beginnt, unter Verwendung einer C# -Konsolenanwendung. Die Bevölkerung Teil funktioniert, aber was ich brauche ist zu tun, um alle Zeilen löschen mit ihren Daten 3. mit Startreihe Und hier ist mein Code so weit:C# Excel InterOp: Löschen aller Zeilen unterhalb der Zeile 2

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

Hinweis, beiden Code kommentiert und der Funktionscode etwas erzeugen wie Löschen-Funktion kann nicht erreicht werden.

Danke!

Update 1 Es sieht wie folgt aus funktioniert in der Schleife auf einer anderen Excel-Datei; Es gibt also eine Art Sperre für die andere Excel-Datei.

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

aktualisieren 2

Also, ja, seltsam das Original XLS-Datei ist durch ein Passwort geschützt und ich noch kein Passwort haben. Die Datei erlaubt mir, neue Werte zu schreiben und bestehende Werte zu überschreiben erlaubt es mir nicht, Zeilen zu löschen !!

Antwort

0

Das folgende funktioniert für mich gut, aber nicht auf die benötigte Datei wegen des Passwortschutzes für diese Datei, wie in meinen 'Updates' zur Frage angegeben. Es gibt Makros in der Datei benötigt und so kann ich einfach nicht Umgehungen wie Upload zu Google Text & Tabellen usw.

HTH

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