1. produkty
  2.   Tabulka
  3.   PHP
  4.   PHPSpreadsheet

PHPSpreadsheet

 
 

Open Source PHP knihovna pro tabulkové soubory

Čtení, zápis, manipulace a zpracování souborů Microsoft Excel a LibreOffice Calc.

PHPSpreadsheet je knihovna s otevřeným zdrojovým kódem, která obsahuje sadu tříd, které vám umožňují komunikovat a využívat různé formáty souborů tabulkových procesorů Microsoft Excel a LibreOffice Calc. PHPSpreadsheet podporuje tabulky, které obsahují jeden nebo více listů obsahujících buňky pro uložení dat různých typů, jako jsou čísla, vzorce, obrázky atd.

Previous Next

Začínáme s PHPSpreadsheet

Nejprve musíte mít PHP verze 7.1 nebo novější pro vývoj pomocí PhpSpreadsheet. Doporučeným způsobem instalace PhpSpreadsheet do vašeho projektu je použití composer. Otevřete terminál v kořenovém adresáři projektu a spusťte příkaz:

Zde je příkaz

 composer require phpoffice/phpspreadsheet 

Composer nabízí pohodlný instalační program, který můžete spustit přímo z příkazového řádku. Neváhejte a stáhněte si tento soubor nebo si jej prohlédněte na GitHubu. Existují dva způsoby instalace Skladatel. Nainstalujte jej lokálně jako součást svého projektu nebo globálně jako spustitelný soubor pro celý systém.

Práce s buňkami tabulky

PHPSpreadsheet umožňuje přístup k buňce a nastavení její hodnoty podle souřadnic. Můžete také vytvořit novou buňku a nastavit v ní vzorec. Můžete také nakonfigurovat buňku tak, aby zabírala různé typy dat, jako je datum, čas a číslo s úvodními nulami. PHPSpreadsheet také umožňuje nastavit rozsah buněk z pole, stejně jako procházení buněk pomocí iterátorů nebo indexů. Můžete také použít hodnoty pojiva pro umožnění uživatelsky přívětivého zadávání dat.

Vytvořte nový 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');

Vytvořit a použít automatické filtry

Pomocí PHPSpreadsheet můžete použít rozsahy automatického filtru k odfiltrování a zobrazení pouze těch řádků, které odpovídají kritériím, která jste definovali v automatickém filtru. Jako přísady můžete použít filtry na více než jeden sloupec.

PHPSpreadsheet umožňuje nastavit oblast automatického filtru na listu. Můžete vytvářet, číst a zapisovat výrazy automatického filtru. Kromě toho jsou k dispozici různé typy filtrů, jako jsou jednoduché filtry, odpovídající prázdná místa, filtry DateGroup, vlastní filtry, dynamické filtry a prvních deset filtrů.

Použijte Auto Filter v 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');

Formule Calculation Engine

Chcete-li provádět výpočty na základní až pokročilé úrovni ve vašich obchodních tabulkách, můžete snadno vyvolat motor pro výpočet vzorců PHPSpreadsheet a ten se postará o zbytek.

Analyzátor vzorců PHPSpreadsheet dokáže automaticky upravit vzorec při vkládání/odstraňování řádků/sloupců. Vzorec Microsoft Excel je před spuštěním převeden na kód PHP. Ke zvýšení výkonu se používá mezipaměť výpočtu k uložení výsledku vzorce. Podobně je každý jednotlivý list udržován v samostatné mezipaměti.

 Čeština