![](https://products-qa.fileformat.com/ru/spreadsheet/php/spout/header-image.png)
Spout
Библиотека PHP для файлов ODS, XLSX и CSV
Библиотека PHP с открытым исходным кодом для создания, чтения и управления электронными таблицами из Excel® (XLSX, CSV) и OpenOffice™ (ODS).
Что такое носик?
Spout — это PHP-библиотека с открытым исходным кодом, которая помогает разработчикам программного обеспечения в задачах работы с электронными таблицами, таких как чтение и запись файлов ODS, XLSX и CSV. С помощью Spout разработчики могут создавать электронные таблицы с нуля, используя стили ячеек, строк и границ, а также загружать существующие файлы для редактирования.
Spout удобен для разработчиков, поскольку предоставляет простой и интегрированный API для чтения и создания различных типов электронных таблиц. Это также позволяет переключаться с одного типа электронной таблицы на другой с минимальными изменениями в коде. Он способен обрабатывать как маленькие, так и очень большие файлы электронных таблиц, сохраняя при этом очень низкое использование памяти. Для обработки любого файла электронной таблицы требуется всего 3 МБ памяти.
Как установить библиотеку Spout PHP
Для Spout требуется PHP версии 7.1 или выше. После выполнения необходимых условий установите Spout из Composer.
Установите Spout из Composer
$ composer require box/spout
Библиотека PHP для чтения и записи ODS, XLSX и CSV
Spout позволяет разработчикам программного обеспечения создавать файлы электронных таблиц с нуля в трех популярных форматах. Во время чтения Spout угадывает тип программы для чтения электронных таблиц по расширению файла. Если расширение не является стандартным, можно создать специальный ридер напрямую.
Чтение ODS через PHP
- Создайте программу чтения для формата файла ODS
- Передайте путь к файлу ODS для метода загрузки, чтобы прочитать его.
- Перебор рабочих листов ODS с помощью getSheetIterator()
- Итерация по строкам рабочего листа с помощью getRowIterator()
- Получить ячейки строки ODS для чтения или записи
Чтение ODS через Spout - Библиотека PHP Excel
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
Добавить данные в существующую электронную таблицу через PHP
Spout дает разработчику возможность обновлять существующую электронную таблицу, добавляя в нее данные. Очень распространена практика добавления новых данных в существующую электронную таблицу. Spout API не сохраняет полное представление электронной таблицы в памяти, чтобы избежать проблем с памятью при работе с большими электронными таблицами. Чтобы изменить электронную таблицу, создайте новый экземпляр, аналогичный существующему, и добавьте необходимые данные в новую электронную таблицу.
Чтение данных с определенного листа
Spout API позволяет разработчикам PHP получать доступ и читать данные с определенного листа внутри электронной таблицы. Обычно электронная таблица содержит несколько рабочих листов. Если пользователю интересно прочитать данные только с одного листа и пропустить другие листы. Пользователям просто нужно знать имя и положение электронной таблицы.