Ho uno script PowerShell che apre un file excel, riassegna una password vuota e quindi salva il file. Voglio aggiungere un'attività allo script per rimuovere le prime 4 righe del file excel prima di salvarlo.Elimina le prime quattro righe in Excel con PowerShell
5
A
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
Ciao, Perfetto, TY! Sapresti come usare un nome di file dinamico nello stesso script ... termina con "mmddyyyy"? –
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