Lo Script Engine consente di rendere disponibile un file Excel e i suoi attributi ai comandi di uno script di PowerShell.
Per referenziare un file Excel all'interno di uno Script Engine, IrionEDM mette a disposizione dell'utente il cmdlet Get_IrionDQExcelWrapper. Esso richiede in input due parametri opzionali:
✓ il percorso assoluto di un file Excel,
✓ l'eventule password di accesso al file stesso.
Nel caso in cui non venga specificato nessun file, il cmdlet crea un file temporaneo su cui poter operare. |
Le operazioni che uno script può eseguire sul file specificato sono descritte nella seguente tabella.
Operazione |
Descrizione |
Parametri in input |
---|---|---|
GetAllSheetNames |
Restituisce i nomi di tutti i fogli di calcolo presenti nel file. |
Valore booleano. False (default): non visualizza gli eventuali sheet nascosti. |
GetSheetDefinedName |
Restituisce tutti i nomi definiti su celle o zone di un foglio di calcolo. |
Nome del foglio di calcolo. |
GetAllRangeNames |
Restituisce tutti i nomi definiti su celle o zone di ogni foglio di calcolo. |
|
RemoveSheet |
Elimina uno specifico foglio di calcolo del file. |
Nome del foglio di calcolo. |
RenameSheet |
Rinomina uno specifico foglio di calcolo del file. |
1.Precedente nome dello sheet. 2.Nuovo nome da assegnare allo sheet. |
SetSheet |
Definisce il foglio di calcolo corrente o crea un nuovo sheet, in caso esso non esista. |
1.Nome del foglio di calcolo. 2.Valore booleano. False (default): non crea un nuovo sheet se il nome precedente non esiste. |
SetSheetValue |
Inserisce un elemento di un oggetto PowerShell in una cella del foglio corrente. |
1.Numero intero che identifica la riga. 2.Numero intero che identifica la colonna. 3.Elemento di un oggetto PowerShell. |
FreezeColumns |
Blocca una o più colonne del foglio corrente. |
1.Codice identificativo della prima colonna da bloccare. 2.Numero totale di colonne da bloccare. |
FreezeRows |
Blocca una o più righe del foglio corrente. |
1.Codice identificativo della prima riga da bloccare. 2.Numero totale di righe da bloccare. |
GetRangeDataset |
Definisce uno specifico range sul file Excel. |
Range di celle nella sintassi propria di Excel. |
SetRange |
Imposta il range di celle corrente. |
Range di celle nella sintassi propria di Excel. |
SetRangeValue |
Inserisce un elemento di un oggetto PowerShell in una cella del range corrente. |
1.Numero intero che definisce la riga. 2.Numero intero che definisce la colonna. 3.Elemento di un oggetto PowerShell. |
SetRangeValues |
Inserisce un insieme di valori, estratti da un oggetto PowerShell, nel range corrente. |
1.Oggetto di PowerShell. 2.Valore booleano. True (default): le intestazioni di colonna sono presenti. 3.Valore booleano. False (default): il ridimensionamento automatico delle colonne è disattivato. |
SaveAs |
Salva il file in uno specifico percorso. |
Percorso assoluto del file Excel in output. |
Le operazioni precedentemente descritte sono, formalmente, dei metodi. Pertanto, in assenza dei parametri, devono essere seguiti dalle parentesi "aperta" e "chiusa". |
Sussistono delle dipendenze tra le operazioni precedentemente descritte: ✓Ogni operazione che interessa il foglio di calcolo corrente deve essere preceduto da un SetSheet. ✓Ogni operazione che interessa il range corrente deve essere preceduto da un SetRange. ✓Ogni gruppo di operazioni, che cambia il file Excel, deve essere seguito da un SaveAs per rendere effettiva ogni modifica. |
ESEMPIO DI UTILIZZO Supponiamo di avere un file Excel sul Desktop del client corrente (user1), chiamato Excel_1, contenente quattro fogli di calcolo. Per richiamare i nomi di questi sheet all'interno di uno script la sintassi corretta è: $file = 'C:\Users\user1\Desktop\Excel_1.xlsx' $excel = Get-IrionDQExcelWrapper $file $excel.GetAllSheetNames() dove $excel e $file identificano due variabili di PowerShell. |