PHPSpreadsheet
Open Source PHP-bibliotek for regnearkfiler
Les, skriv, manipuler og behandle Microsoft Excel- og LibreOffice Calc-filer.
PHPSpreadsheet er et åpen kildekode-bibliotek som inkluderer et sett med klasser som lar deg samhandle med og bruke ulike regnearkfilformater av Microsoft Excel og LibreOffice Calc. PHPSpreadsheet støtter regneark som inneholder ett eller flere regneark, som inneholder celler for å holde data av ulike typer, for eksempel tall, formler, bilder, etc.
Komme i gang med PHPSpreadsheet
Først av alt må du ha PHP versjon 7.1 eller nyere for å utvikle med PhpSpreadsheet. Den anbefalte måten å installere PhpSpreadsheet på i prosjektet ditt er ved å bruke komponist. Åpne terminalen i prosjektets rotkatalog og kjør kommandoen:
Her er kommandoen
composer require phpoffice/phpspreadsheet
Composer tilbyr et praktisk installasjonsprogram som du kan kjøre direkte fra kommandolinjen. Last ned denne filen eller se den på GitHub. Det er to måter å installere Komponist. Installer det lokalt som en del av prosjektet ditt, eller globalt som en systemomfattende kjørbar.
Arbeid med regnearkceller
PHPSpreadsheet lar deg få tilgang til celle og angi verdien av koordinater. Du kan også opprette en ny celle og sette opp en formel i den. Du kan også konfigurere cellen til å oppta ulike typer data, for eksempel dato, klokkeslett og tall med innledende nuller. PHPSpreadsheet lar deg også angi en rekke celler fra en matrise, samt å gå gjennom celler ved hjelp av iteratorer eller indekser. Du kan også bruke verdibindere for å tillate brukervennlig datainntasting.
Opprett en ny 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');
Opprett og bruk autofiltre
Ved å bruke PHPSpreadsheet kan du bruke autofilterområder for å filtrere ut og vise bare de radene som samsvarer med kriteriene du har definert i autofilteret. Du kan bruke filtre på mer enn én kolonne som tilsetningsstoffer.
PHPSpreadsheet lar deg angi et autofilterområde på et regneark. Du kan lage, lese og skrive autofilteruttrykk. Videre er ulike typer filtre tilgjengelige, for eksempel enkle filtre, matchende blanks, DateGroup-filtre, tilpassede filtre, dynamiske filtre og topp ti-filtre.
Bruk automatisk filter i 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');
Formelberegningsmotor
For å utføre grunnleggende til avanserte nivåberegninger i forretningsregnearkene dine, kan du enkelt fremkalle PHPSpreadsheets formelberegningsmotor, og den tar seg av resten.
PHPSpreadsheets formelparser kan automatisk justere en formel mens rader/kolonner settes inn/fjernes. Microsoft Excel-formelen konverteres til PHP-kode før den kjøres. For å øke ytelsen brukes en beregningsbuffer for å holde resultatet av formelen. På samme måte vedlikeholdes hvert enkelt regneark av en separat hurtigbuffer.