2013-04-29 13 views

Antwort

5

Sie können OleDB nicht zum Löschen von Daten aus einem Excel-Dokument verwenden. Wie pro MSDN docmentation:

Obwohl der Jet OLE DB-Provider ermöglicht es Ihnen, Datensätze in einer Excel-Arbeitsmappe einfügen und aktualisieren, erlaubt es nicht DELETE-Operation

Was Sie tun können, ist COMs nutzen Exel Schnittstelle zum Löschen von Zeilen. Denken Sie daran, release COM Objekt zu. So,

$file = c:\temp\MyExcelFile.xls 
# Star Excel, hide window 
$excel = new-object -com Excel.Application -Property @{Visible = $false} 
$workbook = $excel.Workbooks.Open($file) # Open the file 
$sheet = $workbook.Sheets.Item(1) # Activate the first worksheet 
[void]$sheet.Cells.Item(1, 1).EntireRow.Delete() # Delete the first row 

$workbook.Close($true) # Close workbook and save changes 
$excel.quit() # Quit Excel 
[Runtime.Interopservices.Marshal]::ReleaseComObject($excel) # Release COM 
+0

Hallo, Perfekt, TY! Würdest du zufällig wissen, wie man einen dynamischen Dateinamen im selben Skript benutzt ... endet mit "mmddyyyy"? –

+0

Sie sollten den Teil über den dynamischen Dateinamen als eine eigene Frage veröffentlichen. Geben Sie weitere Informationen darüber an, wie sich der Name ändert und was mit den Dateien nach dem Entfernen der ersten Zeile zu tun ist. – vonPryz

Verwandte Themen