Mi e' capitato di dover lavorare con il modulo powershell ImportExcel. Questi sono alcuni degli appunti che mi sono segnato.
get-services | Export-excel -now
Crea il file
get-services | Export-excel c:\temp\testdemo.xlsx
Crea il file e lo apre
get-services | Export-excel c:\temp\testdemo.xlsx -show
Crea il file e lo apre, impostando filtri sulle colonne ed autosize
get-services | Export-excel c:\temp\testdemo.xlsx -show -autosize -autofilter
Cancellare un file
rm test.xlsx -ErrorAction Ignore
Usare la formattazione condizionale
$data = get-service | Select Status, Name, DisplayName, StartType
$data | Export-Excel test.xlsx -Show -Autosize
rm test.xlsx -ErrorAction Ignore
$text1 = New-ConditionalText stop
$data | Export-Excel test.xlsx -Show -Autosize -ConditionalText $text1
$text2 = New-ConditionalText runn Blue Cyan
rm test.xlsx -ErrorAction Ignore
$data | Export-Excel test.xlsx -Show -Autosize -ConditionalText $text1, $Text2
$text3 = New-ConditionalText svc Wheat Green
rm test.xlsx -ErrorAction Ignore
$data | Export-Excel test.xlsx -Show -Autosize -ConditionalText $Text1, $Text2, $$Text3
$data = get-process | Where Company | Select Company, Name, PM, Handles, *mem*
$cfmt = New-ConditionalFormattingIconSet -range "C:C" -ConditionalFormat ThreeIconSet - IconType Arrows
rm test.xlsx -ErrorAction Ignore
$data | Export-Excel test.xlsx -Show -Autosize -ConditionalFormat $cfmt
$ctext = New-ConditionalText Microsoft Wheat Green
rm test.xlsx -ErrorAction Ignore
$data | Export-Excel test.xlsx -Show -Autosize -ConditionalFormat $cfmt -ConditionalText $ctext
Importare i valori dal foglio di lavoro
import-excel .\elencoUtenti.xlsx -WorksheetName VpnUsers -ImportColumns @(1,2,3,4,5,6,7,8,9,10,11,12) -startrow 1 -endrow 15
DEMO
1 - Compilare un file excel
ps excel -ErrorAction ignore | kill
$xl = New-Object -ComObject excel.application
$xl.visible = $True
$wb = $xl.workbooks.add()
$ws = $wb.worksheets["Sheet1"]
$ws.Cells[1,1].value = "ID"
$ws.Cells[1,2].value = "Product"
$ws.Cells[1,3].value = "Quantity"
$ws.Cells[1,4].value = "QPrice"
$ws.Cells[1,5].value = "Value"
$ws.Cells[2,1].value = 12001
$ws.Cells[2,2].value = "Nails"
$ws.Cells[2,3].value = 37
$ws.Cells[2,4].value = 3,99
$ws.Cells[2,5].formula = "=C2*D2"
$ws.Cells[3,1].value = 12002
$ws.Cells[3,2].value = "Hammer"
$ws.Cells[3,3].value = 5
$ws.Cells[3,4].value = 12,10
$ws.Cells[3,5].formula = "=C3*D3"
$ws.Cells[4,1].value = 12003
$ws.Cells[4,2].value = "Saw"
$ws.Cells[4,3].value = 12
$ws.Cells[4,4].value = 15,37
$ws.Cells[4,5].formula = "=C4*D4"
2 - creare un file excel con contenuto
#Hello World
"Hello World" | Export-Excel
3 - Creare una colonna con intestazione Data ed inserire hello world come primo valore
[PSCustomObject]@{Data="Hello World"} | Export-Excel
4 - chiudere il processo di excel e rimuovere eventuali file creati per test
ps excel -ErrorAction Ignore
rm '.\demo.xlsx' -ErrorAction Ignore
5 - esportare tutti i processi in excel
get-process |export-excel '.\demo.xlsx'
invoke-item .\demo.xlsx (si apre solo se excel e' installato)
6 - esportare solo alcune proprieta dei processi in excel
ps excel -ErrorAction Ignore
rm '.\demo.xlsx' -ErrorAction Ignore
get-process | select company, pm, handles | export-excel '.\demo.xlsx' -show
7 - importare dati da un csv ed esportarle in excel
ps excel -ErrorAction Ignore
rm '.\demo.xlsx' -ErrorAction Ignore
import-csv data.csv | Export-Excel test.xlsx -show -TableName Itemms -AutoSize
8 - importare dati da un file excel in una variabile per poi elaborarli
$UserA = import-excel .\elencoUtenti.xlsx -WorksheetName VpnUsers
9 - importare dati da un file excel, solo alcune colonne, in una variabile per poi elaborarli
$UserB = import-excel .\elencoUtenti.xlsx -WorksheetName VpnUsers -ImportColumns @(1,2,3,4,5,6,7,8,9,10,11,12) -startrow 1 -endrow 15
Nessun commento:
Posta un commento