PHPSpreadsheet
Libreria PHP open source per fogli di calcolo
Leggi, scrivi, manipola ed elabora file Microsoft Excel e LibreOffice Calc.
PHPSpreadsheet è una libreria open source che include un insieme di classi per consentire di interagire e utilizzare vari formati di file di fogli di calcolo di Microsoft Excel e LibreOffice Calc. PHPSpreadsheet supporta fogli di calcolo che contengono uno o più fogli di lavoro, contenenti celle per contenere dati di vario tipo, come numeri, formule, immagini, ecc.
Guida introduttiva a PHP Spreadsheet
Prima di tutto devi avere PHP versione 7.1 o successiva per sviluppare usando PhpSpreadsheet. Il modo consigliato per installare PhpSpreadsheet nel tuo progetto è utilizzare compositore. Apri il terminale nella directory principale del tuo progetto ed esegui il comando:
Ecco il comando
composer require phpoffice/phpspreadsheet
Composer offre un comodo programma di installazione che puoi eseguire direttamente dalla riga di comando. Sentiti libero di scaricare questo file o rivederlo su GitHub. Ci sono due modi per installarlo Compositore. Installalo localmente come parte del tuo progetto o globalmente come eseguibile a livello di sistema.
Lavora con le celle del foglio di calcolo
PHPSpreadsheet ti consente di accedere alla cella e impostarne il valore in base alle coordinate. Puoi anche creare una nuova cella e impostare una formula al suo interno. Puoi anche configurare la cella per occupare vari tipi di dati, come data, ora e numero con zeri iniziali. PHPSpreadsheet consente inoltre di impostare un intervallo di celle da un array, nonché di scorrere le celle utilizzando iteratori o indici. È inoltre possibile utilizzare raccoglitori di valori per consentire l'immissione di dati di facile utilizzo.
Crea un nuovo XLSX - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');
Crea e applica filtri automatici
Utilizzando PHPSpreadsheet, puoi applicare intervalli di filtro automatico per filtrare e visualizzare solo le righe che corrispondono ai criteri che hai definito nel filtro automatico. È possibile applicare filtri a più colonne come additivi.
PHPSpreadsheet ti consente di impostare un'area di filtro automatico su un foglio di lavoro. È possibile creare, leggere e scrivere espressioni di filtro automatico. Inoltre, sono disponibili vari tipi di filtri, come filtri semplici, spazi vuoti corrispondenti, filtri DateGroup, filtri personalizzati, filtri dinamici e primi dieci filtri.
Applica il filtro automatico in XLSX - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
->createRule()
->setRule(
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
'Germany'
);
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');
Motore di calcolo delle formule
Per eseguire calcoli di livello da base a avanzato nei fogli di lavoro aziendali, puoi facilmente evocare il motore di calcolo delle formule di PHPSpreadsheet e si occuperà del resto.
Il parser di formule di PHPSpreadsheet può regolare automaticamente una formula mentre vengono inserite/rimosse righe/colonne. La formula di Microsoft Excel viene convertita in codice PHP prima di essere eseguita. Per aumentare le prestazioni, viene utilizzata una cache di calcolo per contenere il risultato della formula. Allo stesso modo, ogni singolo foglio di lavoro viene gestito da una cache separata.