2013-04-29 22 views

risposta

5

Non è possibile utilizzare OleDB per eliminare dati dal documento Excel. Come da MSDN docmentation:

Anche se il Provider Jet OLE DB consente di inserire e aggiornare record in una cartella di lavoro di Excel, esso non consente DELETE

Che cosa si può fare è utilizzare COM di Exel interfaccia per eliminare le righe. Ricorda anche l'oggetto release COM. Così,

$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

Ciao, Perfetto, TY! Sapresti come usare un nome di file dinamico nello stesso script ... termina con "mmddyyyy"? –

+0

Dovresti pubblicare la parte sul nome del file dinamico come una domanda a parte. Fornisci maggiori informazioni su come cambierà il nome e cosa dovresti fare sul/sui file dopo aver rimosso la prima riga. – vonPryz

Problemi correlati