Vytvářejte soubory Excel v PHP

Tabulky se staly nezbytnou součástí uchovávání, organizování a analýzy dat. Vzhledem k tomu, že automatizovaná řešení jsou v dnešní době více na trhu, objevil se trend vytváření a manipulace s dokumenty Excel (XLS/XLSX) a roste obrovským tempem. V souladu s výše uvedeným scénářem tento článek popisuje, jak vytvářet a upravovat soubory Excel v PHP.

Knihovna PHP pro vytváření souborů Excel – ke stažení zdarma

Abychom mohli vytvářet a manipulovat se soubory Excelu ve webových aplikacích založených na PHP, použijeme Aspose.Cells for PHP via Java. Je to výkonná a vysokorychlostní knihovna, která poskytuje širokou škálu funkcí pro automatizaci Excelu. Balíček knihovny si můžete stáhnout zde.

Používání

Níže jsou uvedeny předpoklady, které musíte splnit, abyste mohli používat Aspose.Cells for PHP prostřednictvím Java.

Jakmile splníte předpoklady, postupujte podle níže uvedených kroků a spusťte soubor example.php pro testování.

  1. Umístěte soubor Java.inc do kořenové složky balíčku knihovny, který jste si stáhli.
  2. Spusťte JavaBridge.jar pomocí níže uvedených příkazů v příkazovém řádku:
    • cd aspose.cells

    • %JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080

  3. Spusťte example.php z kořenové složky knihovny pomocí níže uvedeného příkazu:
    • php example.php

Snadné kroky k vytvoření souboru Excel v PHP

Následuje několik jednoduchých kroků k vytvoření souboru Excel v PHP.

Následující ukázka kódu ukazuje, jak vytvořit soubor Excel XLSX v PHP.

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");

use aspose\cells;

// Vytvořte objekt třídy sešit
$workbook = new cells\Workbook();

// Přístup k pracovním listům
$sheets = $workbook->getWorksheets();

// Přístup k buňkám požadovaného listu
$cells = $sheets->get(0)->getCells();

// Vložit hodnotu do buňky
$cells->get("A1")->putValue("Hello world!");

// Uložte soubor Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Upravte soubor Excel v PHP

V předchozí části jsme vytvořili soubor Excel od začátku. Nyní upravíme existující soubor Excel a vložíme do něj data.

Následují kroky k zápisu dat do souboru XLSX pomocí Aspose.Cells for PHP přes Java.

Následující ukázka kódu ukazuje, jak upravit soubor aplikace Excel v PHP.

// Vytvořte objekt třídy sešit pro načtení souboru aplikace Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Přístup k pracovním listům
$sheets = $workbook->getWorksheets();

// Přístup k buňkám požadovaného listu
$cells = $sheets->get(0)->getCells();

// Vložit hodnotu do buňky
$cells->get("A1")->putValue("Hello world!");

// Uložte soubor aplikace Excel
$workbook->save("updated.xlsx");

PHP: Vytvořte soubor Excel s grafy

Níže jsou uvedeny kroky k vytvoření grafů v souboru aplikace Excel pomocí PHP.

Následující ukázka kódu ukazuje, jak vytvořit grafy v souborech aplikace Excel v PHP.

// Načtěte soubor Excel
$workbook = new Workbook("Book2.xlsx");

// Získejte odkaz na první pracovní list
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Přidejte do buněk nějakou ukázkovou hodnotu
$cells = $sheet->getCells();
$cell = $cells->get("A1");
$cell->setValue(50);
$cell = $cells->get("A2");
$cell->setValue(100);
$cell = $cells->get("A3");
$cell->setValue(150);
$cell = $cells->get("B1");
$cell->setValue(4);
$cell = $cells->get("B2");
$cell->setValue(20);
$cell = $cells->get("B3");
$cell->setValue(50);

// Získejte grafy v pracovním listu
$charts = $sheet->getCharts();

// Přidejte graf do listu
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// Přidejte NSeries (zdroj dat grafu) do grafu v rozsahu od "A1"
// buňka na "B3"
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// Napište soubor Excel 
$workbook.save("Excel_with_Chart.xlsx");

Přidejte kontingenční tabulku do souboru aplikace Excel v PHP

Kontingenční tabulky v excelových listech se používají pro přidávání filtrů k datům, výpočet součtů, sumarizaci dat atd. Kontingenční tabulky lze vytvářet pomocí rozsahu buněk v listu. Následují kroky k vytvoření kontingenční tabulky v excelovém listu pomocí PHP.

Následující ukázka kódu ukazuje, jak vytvořit kontingenční tabulku v Excelu pomocí PHP.

// Načíst dokument, který má být převeden
$workbook = new Workbook("Book2.xlsx");

// Získejte odkaz na první pracovní list
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Přidejte do buněk nějakou ukázkovou hodnotu
$cells = $sheet->getCells();
$cell->setValue("Sport");
$cell = $cells->get("B1");
$cell->setValue("Quarter");
$cell = $cells->get("C1");
$cell->setValue("Sales");

$cell = $cells->get("A2");
$cell->setValue("Golf");
$cell = $cells->get("A3");
$cell->setValue("Golf");
$cell = $cells->get("A4");
$cell->setValue("Tennis");
$cell = $cells->get("A5");
$cell->setValue("Tennis");
$cell = $cells->get("A6");
$cell->setValue("Tennis");
$cell = $cells->get("A7");
$cell->setValue("Tennis");
$cell = $cells->get("A8");
$cell->setValue("Golf");

$cell = $cells->get("B2");
$cell->setValue("Qtr3");
$cell = $cells->get("B3");
$cell->setValue("Qtr4");
$cell = $cells->get("B4");
$cell->setValue("Qtr3");
$cell = $cells->get("B5");
$cell->setValue("Qtr4");
$cell = $cells->get("B6");
$cell->setValue("Qtr3");
$cell = $cells->get("B7");
$cell->setValue("Qtr4");
$cell = $cells->get("B8");
$cell->setValue("Qtr3");

$cell = $cells->get("C2");
$cell->setValue(1500);
$cell = $cells->get("C3");
$cell->setValue(2000);
$cell = $cells->get("C4");
$cell->setValue(600);
$cell = $cells->get("C5");
$cell->setValue(1500);
$cell = $cells->get("C6");
$cell->setValue(4070);
$cell = $cells->get("C7");
$cell->setValue(5000);
$cell = $cells->get("C8");
$cell->setValue(6430);

// Získejte kontingenční tabulky
$pivotTables = $sheet->getPivotTables();

// Přidejte do listu kontingenční tabulku
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Získejte přístup k instanci nově přidané kontingenční tabulky
$pivotTable = $pivotTables->get($index);

// Zrušit zobrazení celkových součtů pro řádky
$pivotTable->setRowGrand(false);

// Přetáhněte první pole do oblasti řádku
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Přetáhněte druhé pole do oblasti sloupců
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Přetáhněte třetí pole do datové oblasti
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// Napište soubor Excel
$workbook.save("Excel_with_Table.xlsx");

Aspose’ PHP Library pro vytváření souborů Excel - Získejte bezplatnou licenci

Soubory Excel můžete v PHP vytvářet zdarma bez omezení hodnocení pomocí bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak vytvořit soubory Excel XLS nebo XLSX od začátku v PHP. Dále jste viděli, jak zapisovat data do existujícího souboru Excel a generovat soubory Excel s grafy nebo tabulkami v PHP. Více o PHP knihovně Excel můžete prozkoumat pomocí dokumentace. V případě jakýchkoli dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.

Viz také