Twórz pliki Excela w PHP

Arkusze kalkulacyjne stały się istotną częścią przechowywania, organizowania i analizowania danych. Ponieważ zautomatyzowane rozwiązania są obecnie bardziej popularne w biznesie, pojawił się trend tworzenia i manipulowania dokumentami Excel (XLS/XLSX), który rozwija się w ogromnym tempie. Zgodnie z powyższym scenariuszem, w tym artykule opisano, jak tworzyć i modyfikować pliki Excela w PHP.

Biblioteka PHP do tworzenia plików Excel — do pobrania za darmo

Aby tworzyć i manipulować plikami Excel w aplikacjach internetowych opartych na PHP, użyjemy Aspose.Cells for PHP via Java. Jest to potężna i szybka biblioteka, która zapewnia szeroki zakres funkcji automatyzacji programu Excel. Możesz pobrać pakiet biblioteki z tutaj.

Stosowanie

Poniżej przedstawiono wymagania wstępne, które należy spełnić, aby używać Aspose.Cells for PHP przez Javę.

Po spełnieniu wymagań wstępnych wykonaj poniższe kroki, aby uruchomić plik example.php do testowania.

  1. Umieść plik Java.inc w folderze głównym pobranego pakietu biblioteki.
  2. Uruchom plik JavaBridge.jar za pomocą poniższych poleceń w wierszu polecenia:
    • cd aspose.cells

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

  3. Uruchom example.php z folderu głównego biblioteki, używając poniższego polecenia:
    • przykład php.php

Proste kroki, aby utworzyć plik Excel w PHP

Poniżej przedstawiono kilka prostych kroków, aby utworzyć plik Excel w PHP.

Poniższy przykładowy kod pokazuje, jak utworzyć plik Excel XLSX w PHP.

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

use aspose\cells;

// Utwórz obiekt klasy skoroszyt
$workbook = new cells\Workbook();

// Uzyskaj dostęp do arkuszy
$sheets = $workbook->getWorksheets();

// Uzyskaj dostęp do komórek żądanego arkusza roboczego
$cells = $sheets->get(0)->getCells();

// Wstaw wartość do komórki
$cells->get("A1")->putValue("Hello world!");

// Zapisz plik Excela
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Zmodyfikuj plik Excela w PHP

W poprzedniej sekcji stworzyliśmy od podstaw plik Excel. Teraz edytujmy istniejący plik programu Excel i wstawmy do niego dane.

Poniżej przedstawiono kroki, aby zapisać dane do pliku XLSX przy użyciu Aspose.Cells for PHP przez Javę.

Poniższy przykładowy kod pokazuje, jak zmodyfikować plik programu Excel w języku PHP.

// Utwórz obiekt klasy skoroszytu, aby załadować plik Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Uzyskaj dostęp do arkuszy
$sheets = $workbook->getWorksheets();

// Uzyskaj dostęp do komórek żądanego arkusza roboczego
$cells = $sheets->get(0)->getCells();

// Wstaw wartość do komórki
$cells->get("A1")->putValue("Hello world!");

// Zapisz plik Excela
$workbook->save("updated.xlsx");

PHP: Utwórz plik Excel z wykresami

Poniżej przedstawiono kroki tworzenia wykresów w pliku Excel przy użyciu PHP.

Poniższy przykładowy kod pokazuje, jak tworzyć wykresy w plikach programu Excel w języku PHP.

// Załaduj plik Excela
$workbook = new Workbook("Book2.xlsx");

// Uzyskaj odniesienie do pierwszego arkusza
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Dodaj przykładową wartość do komórek
$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);

// Pobierz wykresy w arkuszu
$charts = $sheet->getCharts();

// Dodaj wykres do arkusza
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// Dodaj NSeries (źródło danych wykresu) do wykresu w zakresie od „A1”
// komórka do „B3”
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// Napisz plik Excela 
$workbook.save("Excel_with_Chart.xlsx");

Dodaj tabelę przestawną do pliku Excel w PHP

Tabele przestawne w arkuszach programu Excel służą do dodawania filtrów do danych, obliczania sum, podsumowywania danych itp. Tabele przestawne można tworzyć przy użyciu zakresu komórek w arkuszu. Poniżej przedstawiono kroki tworzenia tabeli przestawnej w arkuszu programu Excel przy użyciu języka PHP.

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę przestawną w programie Excel przy użyciu języka PHP.

// Załaduj dokument do konwersji
$workbook = new Workbook("Book2.xlsx");

// Uzyskaj odniesienie do pierwszego arkusza
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Dodaj przykładową wartość do komórek
$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);

// Pobierz tabele przestawne
$pivotTables = $sheet->getPivotTables();

// Dodaj tabelę przestawną do arkusza
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Uzyskaj dostęp do wystąpienia nowo dodanej tabeli przestawnej
$pivotTable = $pivotTables->get($index);

// Wyłącz wyświetlanie sum całkowitych dla wierszy
$pivotTable->setRowGrand(false);

// Przeciągnij pierwsze pole do obszaru wierszy
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Przeciągnij drugie pole do obszaru kolumny
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Przeciągnij trzecie pole do obszaru danych
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// Napisz plik Excela
$workbook.save("Excel_with_Table.xlsx");

Biblioteka PHP firmy Aspose do tworzenia plików Excel — uzyskaj bezpłatną licencję

Możesz tworzyć pliki Excela w PHP za darmo, bez ograniczeń ewaluacyjnych, korzystając z darmowej licencji tymczasowej.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć od podstaw pliki Excel XLS lub XLSX w PHP. Ponadto widziałeś, jak zapisywać dane do istniejącego pliku Excel i generować pliki Excel z wykresami lub tabelami w PHP. Możesz dowiedzieć się więcej o bibliotece PHP Excel korzystając z dokumentacji. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.

Zobacz też