![](https://products-qa.fileformat.com/bg/spreadsheet/php/phpspreadsheet/header-image.png)
PHPSpreadsheet
PHP библиотека с отворен код за файлове с електронни таблици
Четете, пишете, манипулирайте и обработвайте файлове на Microsoft Excel и LibreOffice Calc.
PHPSpreadsheet е библиотека с отворен код, която включва набор от класове, които ви позволяват да взаимодействате и да използвате различни файлови формати на електронни таблици на Microsoft Excel и LibreOffice Calc. PHPSpreadsheet поддържа електронни таблици, които съдържат един или повече работни листове, съдържащи клетки за съхранение на данни от различни типове, като числа, формули, изображения и др.
Първи стъпки с PHPSpreadsheet
Преди всичко трябва да имате PHP версия 7.1 или по-нова, за да разработите с PhpSpreadsheet. Препоръчителният начин да инсталирате PhpSpreadsheet във вашия проект е чрез композитор. Отворете терминала в основната директория на вашия проект и изпълнете командата:
Ето я командата
composer require phpoffice/phpspreadsheet
Composer предлага удобен инсталатор, който можете да изпълните директно от командния ред. Чувствайте се свободни да изтеглите този файл или да го прегледате в GitHub. Има два начина за инсталиране Композитор. Инсталирайте го локално като част от вашия проект или глобално като изпълним файл за цялата система.
Работа с клетки от електронни таблици
PHPSpreadsheet ви позволява да получите достъп до клетка и да зададете нейната стойност по координати. Можете също да създадете нова клетка и да зададете формула в нея. Можете също така да конфигурирате клетката да заема различни типове данни, като дата, час и число с водещи нули. PHPSpreadsheet също ви позволява да зададете диапазон от клетки от масив, както и да преминавате през клетки с помощта на итератори или индекси. Можете също така да използвате стойностни свързващи елементи, за да позволите лесно за потребителя въвеждане на данни.
Създайте нов 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');
Създаване и прилагане на автоматични филтри
Използвайки PHPSpreadsheet, можете да приложите диапазони на автоматично филтриране, за да филтрирате и покажете само онези редове, които отговарят на критериите, които сте дефинирали в автоматичния филтър. Можете да приложите филтри към повече от една колона като добавки.
PHPSpreadsheet ви позволява да зададете област за автоматично филтриране на работен лист. Можете да създавате, четете и пишете изрази за автоматично филтриране. Освен това са налични различни типове филтри, като прости филтри, съвпадащи празни места, филтри DateGroup, персонализирани филтри, динамични филтри и филтри от десетте най-добри.
Прилагане на автоматичен филтър в 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');
Механизъм за изчисление на формули
За да извършвате изчисления от основно до напреднало ниво във вашите бизнес електронни таблици, можете лесно да извикате механизма за изчисление на формули на PHPSpreadsheet и той ще се погрижи за останалото.
Анализаторът на формули на PHPSpreadsheet може автоматично да коригира формула, докато редове/колони се вмъкват/премахват. Формулата на Microsoft Excel се преобразува в PHP код, преди да бъде изпълнена. За да се подобри производителността, се използва кеш за изчисление, за да се запази резултатът от формулата. По същия начин всеки отделен работен лист се поддържа от отделен кеш.