PHPSpreadsheet
Biblioteka Open Source PHP dla plików arkuszy kalkulacyjnych
Czytaj, pisz, manipuluj i przetwarzaj pliki Microsoft Excel i LibreOffice Calc.
PHPSpreadsheet to biblioteka typu open source, która zawiera zestaw klas, które umożliwiają interakcję z różnymi formatami plików arkuszy kalkulacyjnych Microsoft Excel i LibreOffice Calc oraz korzystanie z nich. PHPSpreadsheet obsługuje arkusze kalkulacyjne zawierające jeden lub więcej arkuszy roboczych, zawierających komórki do przechowywania danych różnych typów, takich jak liczby, formuły, obrazy itp.
Pierwsze kroki z arkuszem kalkulacyjnym PHP
Przede wszystkim musisz mieć PHP w wersji 7.1 lub nowszej, aby programować za pomocą PhpSpreadsheet. Zalecanym sposobem instalacji PhpSpreadsheet w swoim projekcie jest użycie kompozytora. Otwórz terminal w katalogu głównym projektu i uruchom polecenie:
Oto polecenie
composer require phpoffice/phpspreadsheet
Composer oferuje wygodny instalator, który można uruchomić bezpośrednio z wiersza poleceń. Możesz pobrać ten plik lub przejrzeć go na GitHub. Istnieją dwa sposoby instalacji Kompozytor. Zainstaluj go lokalnie jako część projektu lub globalnie jako plik wykonywalny dla całego systemu.
Praca z komórkami arkusza kalkulacyjnego
PHPSpreadsheet umożliwia dostęp do komórki i ustawienie jej wartości za pomocą współrzędnych. Możesz także utworzyć nową komórkę i ustawić w niej formułę. Możesz także skonfigurować komórkę tak, aby zajmowała różne typy danych, takie jak data, godzina i liczba z wiodącymi zerami. PHPSpreadsheet umożliwia również ustawienie zakresu komórek z tablicy, a także przeglądanie komórek za pomocą iteratorów lub indeksów. Możesz również użyć spinaczy wartości, aby umożliwić przyjazne dla użytkownika wprowadzanie danych.
Utwórz nowy 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');
Twórz i stosuj autofiltry
Używając PHPSpreadsheet, możesz zastosować zakresy automatycznego filtrowania, aby odfiltrować i wyświetlić tylko te wiersze, które spełniają kryteria zdefiniowane w automatycznym filtrowaniu. Możesz zastosować filtry do więcej niż jednej kolumny jako dodatki.
PHPSpreadsheet umożliwia ustawienie obszaru automatycznego filtrowania w arkuszu. Możesz tworzyć, czytać i pisać wyrażenia autofiltrujące. Ponadto dostępne są różne typy filtrów, takie jak filtry proste, pasujące puste miejsca, filtry DateGroup, filtry niestandardowe, filtry dynamiczne i dziesięć najlepszych filtrów.
Zastosuj automatyczny filtr w 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');
Silnik obliczania formuł
Aby wykonać obliczenia na poziomie od podstawowego do zaawansowanego w arkuszach kalkulacyjnych biznesowych, możesz łatwo wywołać silnik obliczania formuł PHPSpreadsheet, a on zajmie się resztą.
Parser formuł PHPSpreadsheet może automatycznie dostosować formułę podczas wstawiania/usuwania wierszy/kolumn. Formuła Microsoft Excel jest konwertowana na kod PHP przed wykonaniem. Aby zwiększyć wydajność, do przechowywania wyniku formuły używana jest pamięć podręczna obliczeń. Podobnie każdy arkusz roboczy jest obsługiwany przez oddzielną pamięć podręczną.