Leggere un file Excel con PowerShell
Tramite il modulo ImportExcel di PowerShell è possibile gestire un file Excel.
oppure per installarlo solo per l'utente corrente
da un risultato come questo
ovvero ritorna una lista di oggetti dove le proprietà sono i nomi delle colonne.
Quindi si può creare un PowerShell che cicla sulle righe e legge le singole colonne
da questo risultato
Install
Come prima cosa va importato il moduloPowerShell: Import Module Admin
Install-Module -Name ImportExcel
PowerShell: Import Module CurrentUser
Install-Module -Name ImportExcel -Scope CurrentUser
Leggere un file excel
Una delle possibilità è leggere un file Excel come questo contenente una tabellacon questo semplice codicePowerShell: Read-Excel
Import-Excel -Path "$pwd\Table.xlsx"
Text: output
ID Comune
-- ------
1 Milano
2 Torino
3 Bologna
4 Roma
Quindi si può creare un PowerShell che cicla sulle righe e legge le singole colonne
PowerShell
Import-Module ImportExcel
$rows = Import-Excel -Path "$pwd\Table.xlsx" -WorksheetName "Sheet2"
$ciIT = [System.Globalization.CultureInfo]::GetCultureInfo('it-IT')
$rows | ForEach-Object {
$id = $_.ID
$comune = $_.Comune
$data = $_.'Esempio Data'
$numero = $_.'Es. Numero'
# Write-Output "ID: $id, Comune: $comune, Data: $data, Number: $numero"
# Write-Output "ID: $id, Comune: $comune, Data: $($data.ToString('yyyy-MM-dd')), Number: $($numero.ToString('#,##0.00'))"
Write-Output "ID: $id, Comune: $comune, Data: $($data.ToString($ciIT)), Number: $($numero.ToString($ciIT))"
}
Text: output
ID: 10, Comune: Milano, Data: 01/01/2024 00:00:00, Number: 3,45
ID: 20, Comune: Torino, Data: 15/09/2023 00:00:00, Number: 123,456
ID: 30, Comune: Bologna, Data: 31/10/2023 00:00:00, Number: 78
ID: 40, Comune: Roma, Data: 04/12/2022 00:00:00, Number: 551234,5