Download the PHP package samagtech/excel-lib without Composer
On this page you can find all versions of the php package samagtech/excel-lib. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package excel-lib
Libreria per la gestione degli Excel
Prefazione
Questa libreria è un wrapper per la libreria PHPSpreadSheet, una versione avanzata di PHPExcel che non ha problemi con versioni PHP 7.4+ ed è possibile installarla con
In caso di modifiche alla libreria e/o aggiunta di funzionalità consigliato lanciare/scrivere gli UnitTest per controllare l'integrità delle funzioni utilizzando il comando
Per installare PHPUnit (docs) lanciare il comando
Inoltre per gestire gli errori della libreria deve essere gestita l'eccezione ExcelException
Creazione di un foglio Excel
Per creare un Excel bisogna instanziare un oggetto Writer in questo modo:
oppure
Il Writer ha bisogno del path dove verranno salvati i file ma accetta anche il nome del file e la lista delle colonne da ignorare la formattazione. Esempio di creazione
è possibile cambiare anche il path a runtime
Utilizzo del Writer
Esempio di utilizzo base
La funzione setHeader() imposta l'intestazione dei fogli ed è facoltativa, la funzione setBody() setta i dati da inserire nel foglio e la funzione build() costruisce il foglio e restituisce il path con il nome del file.
Definizione formattazione colonne
Utilizzando la funzione setColumnDefinition(array $columnDefinition) è possibile definire la formattazione delle colonne con un array dove la chiave è la chiave della colonna e il valore la tipologia di formattazione.
NB. Per ora sono gestiti sono number, string e percentage, di default vengono applicate solo le logiche di stringa e numero(i numeri vengono automaticamente formattati all'italiana X.XXX,XX e in rosso se negativi)
Costruzioni di Excel con fogli multipli
È possibile costruire file Excel con fogli multipli utilizzando sempre il metodo build() passandogli il parametro true, automaticamente verrà gestito il corpo come foglio multiplo. Esempio di costruzione di foglio multiplo
Riguardo all'intestazione (sempre opzionale)
Lettura di un foglio Excel
Per leggere un Excel bisogna instanziare un oggetto Reader in questo modo:
oppure
Il Reader ha bisogno del path e del filename per caricare il file. Il nome del file ed il path possono essere cambiati a runtime
Utilizzo del Reader
Esempio di utilizzo base
È quindi possibile trasformare l'Excel in oggetto o array. Se il file che si sta caricando ha più di un foglio allora vengono caricati i fogli in questo modo
Definzione custom delle chiavi in base alle colonne
È possibile dare una definizione custom per tradurre le colonne e con chiavi custom
NB. In questo caso vengono scartate le colonne non definite. È necessaria l'intestazione delle colonne nel foglio.
Lettura di fogli specifici
È possibile indicare implicitamente i fogli da caricare
Indicare che il foglio non ha intestazione
È possibile che i fogli non abbiano un intestazione quindi è opportuno indicarlo
Funzioni utili - Reader
getNumSheet() - Restituisce il numero di fogli effettivi caricati