Создание файлов Excel в PHP

Электронные таблицы стали неотъемлемой частью хранения, организации и анализа данных. Поскольку в наши дни автоматизированные решения все больше используются в бизнесе, возникла тенденция создания документов Excel (XLS/XLSX) и управления ими, которая растет огромными темпами. В соответствии с вышеупомянутым сценарием в этой статье рассказывается, как создавать файлы Excel XLSX или XLS в PHP.

Библиотека PHP для создания файлов Excel XLS — скачать бесплатно

Чтобы создавать файлы Excel и управлять ими в веб-приложениях на основе PHP, мы будем использовать Aspose.Cells для PHP через Java. Это мощная и высокоскоростная библиотека, которая предоставляет широкий спектр функций для автоматизации Excel. Вы можете загрузить пакет библиотеки из здесь.

Применение

Ниже приведены предварительные условия, которые необходимо выполнить, чтобы использовать Aspose.Cells для PHP через Java.

Выполнив предварительные требования, выполните следующие шаги, чтобы запустить файл example.php для тестирования.

  1. Поместите файл Java.inc в корневую папку загруженного пакета библиотеки.
  2. Запустите JavaBridge.jar, используя следующие команды в командной строке:
    • cd aspose.cells

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

  3. Запустите example.php из корневой папки библиотеки с помощью следующей команды:
    • пример php.php

Создать файл Excel XLS в PHP

Ниже приведены шаги для создания файла Excel XLSX (или XLS) в PHP.

В следующем примере кода показано, как создать файл Excel XLSX в PHP.

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

use aspose\cells;

// Создайте объект класса рабочей книги
$workbook = new cells\Workbook();

// Доступ к рабочим листам
$sheets = $workbook->getWorksheets();

// Доступ к ячейкам нужного рабочего листа
$cells = $sheets->get(0)->getCells();

// Вставить значение в ячейку
$cells->get("A1")->putValue("Hello world!");

// Сохраните файл Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Обновите Excel XLS в PHP

В предыдущем разделе мы создали файл Excel с нуля. Теперь давайте отредактируем существующий файл Excel и вставим в него данные. Ниже приведены шаги для записи данных в файл XLSX с использованием Aspose.Cells для PHP через Java.

В следующем примере кода показано, как изменить файл Excel и записать в него данные в PHP.

// Создайте объект класса рабочей книги для загрузки файла Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Доступ к рабочим листам
$sheets = $workbook->getWorksheets();

// Доступ к ячейкам нужного рабочего листа
$cells = $sheets->get(0)->getCells();

// Вставить значение в ячейку
$cells->get("A1")->putValue("Hello world!");

// Сохраните файл Excel
$workbook->save("updated.xlsx");

PHP Создание диаграмм в Excel XLS

Ниже приведены шаги для создания диаграмм в файле Excel с использованием PHP.

  • Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
  • Добавьте данные на рабочий лист, если создается новая рабочая книга.
  • Получите набор диаграмм рабочего листа с помощью метода $worksheet->getCharts().
  • Добавьте новую диаграмму, используя метод $worksheet->getCharts()->add().
  • Получите только что созданный Chart из коллекции.
  • Укажите диапазон ячеек, чтобы установить NSeries для диаграммы.
  • Сохраните книгу в виде файла Excel .xlsx, используя метод $workbook->save(“output.xlsx”, cell\SaveFormat::XLSX).

В следующем примере кода показано, как создавать диаграммы в файлах Excel на PHP.

// Загрузите файл Excel
$workbook = new Workbook("Book2.xlsx");

// Получить ссылку на первый рабочий лист
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Добавьте образец значения в ячейки
$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);

// Получить диаграммы на листе
$charts = $sheet->getCharts();

// Добавьте диаграмму на рабочий лист
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// Добавьте NSeries (источник данных диаграммы) на диаграмму в диапазоне от "A1"
// ячейка на "B3"
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// Запишите файл Excel 
$workbook.save("Excel_with_Chart.xlsx");

Создайте сводную таблицу в Excel XLSX на PHP

Сводные таблицы на листах Excel используются для добавления фильтров к данным, вычисления итогов, суммирования данных и т. д. Сводные таблицы можно создавать, используя диапазон ячеек на листе. Ниже приведены шаги по созданию сводной таблицы на листе Excel с использованием PHP.

  • Создайте новый файл Excel или загрузите существующий с помощью класса Workbook.
  • Вставьте данные в рабочий лист.
  • Получите доступ к коллекции сводных таблиц с помощью метода $worksheet->getPivotTables().
  • Добавьте новую сводную таблицу на лист, используя метод $worksheet->getPivotTables()->add().
  • Внесите данные в сводную таблицу.
  • Сохраните книгу, используя метод $workbook->save(“output.xlsx”, cell\SaveFormat::XLSX).

В следующем примере кода показано, как создать сводную таблицу в Excel с помощью PHP.

// Загрузите документ для преобразования
$workbook = new Workbook("Book2.xlsx");

// Получить ссылку на первый рабочий лист
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Добавьте образец значения в ячейки
$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);

// Получить сводные таблицы
$pivotTables = $sheet->getPivotTables();

// Добавьте сводную таблицу на лист
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Доступ к экземпляру недавно добавленной сводной таблицы
$pivotTable = $pivotTables->get($index);

// Скрыть общие итоги по строкам
$pivotTable->setRowGrand(false);

// Перетащите первое поле в область строки
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Перетащите второе поле в область столбца
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Перетащите третье поле в область данных
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// Запишите файл Excel
$workbook.save("Excel_with_Table.xlsx");

Библиотека PHP Excel — получите бесплатную лицензию библиотеки

Вы можете бесплатно создавать файлы Excel на PHP без ограничений на пробную версию, используя временную лицензию.

Вывод

В этой статье вы узнали, как создавать файлы Excel XLS или XLSX с нуля в PHP. Кроме того, вы увидели, как записывать данные в существующий файл Excel и создавать файлы Excel с диаграммами или таблицами в PHP. Вы можете узнать больше о библиотеке PHP Excel, используя документацию. Если у вас возникнут вопросы, дайте нам знать через наш форум.

Смотрите также