Чтение файла Excel с помощью PHP: подробное руководство по извлечению данных с примерами кода

В этой статье блога мы рассмотрим различные способы чтения файлов Excel с помощью PHP. Файлы Excel широко используются для хранения данных и управления ими, и возможность программного извлечения данных может быть невероятно полезной. Мы обсудим несколько подходов, предоставив примеры кода для демонстрации реализации каждого метода. Давайте погрузимся!

  1. Библиотека PHPExcel (устарела):
    PHPExcel — популярная библиотека PHP для чтения и записи файлов Excel. Однако с 2017 года он устарел, поэтому рекомендуется использовать альтернативные решения. Мы не будем рассматривать это подробно, поскольку есть варианты получше.

  2. PhpSpreadsheet:
    PhpSpreadsheet — это мощная библиотека PHP для чтения и записи различных форматов электронных таблиц, включая Excel. Он активно поддерживается и предлагает широкий спектр функций. Чтобы начать, выполните следующие действия:

Шаг 1. Установите PhpSpreadsheet с помощью Composer:

composer require phpoffice/phpspreadsheet

Шаг 2. Прочтите файл Excel:

use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = IOFactory::load('path/to/excel_file.xlsx');
$worksheet = $spreadsheet->getActiveSheet();
// Iterate through rows and columns
foreach ($worksheet->getRowIterator() as $row) {
    foreach ($row->getCellIterator() as $cell) {
        $value = $cell->getValue();
        // Process cell value
    }
}
  1. Spout:
    Spout — это легкая библиотека PHP, обеспечивающая простой и эффективный способ чтения и записи файлов электронных таблиц, включая Excel. Он не требует каких-либо внешних зависимостей, что упрощает его использование. Вот пример использования Spout для чтения файла Excel:

Шаг 1. Установите Spout с помощью Composer:

composer require box/spout

Шаг 2. Прочтите файл Excel:

use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createXLSXReader();
$reader->open('path/to/excel_file.xlsx');
foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        $cells = $row->getCells();
        foreach ($cells as $cell) {
            $value = $cell->getValue();
            // Process cell value
        }
    }
}
$reader->close();
  1. PHPSpreadsheet Reader:
    PHPSpreadsheet Reader — это легкая и быстрая библиотека, специально разработанная для чтения файлов Excel. Он предоставляет простой интерфейс для извлечения данных из различных форматов Excel. Вот пример использования PHPSpreadsheet Reader:

Шаг 1. Установите PHPSpreadsheet Reader с помощью Composer:

composer require phpoffice/phpspreadsheet-reader

Шаг 2. Прочтите файл Excel:

use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = IOFactory::load('path/to/excel_file.xlsx');
$worksheet = $spreadsheet->getActiveSheet();
$data = $worksheet->toArray();
foreach ($data as $row) {
    foreach ($row as $cell) {
        // Process cell value
    }
}

В этой статье мы рассмотрели различные способы чтения файлов Excel с помощью PHP. Мы обсудили библиотеку PhpSpreadsheet, Spout и PHPSpreadsheet Reader, приведя примеры кода для каждого метода. Эти библиотеки предлагают различные функции и характеристики производительности, что позволяет вам выбрать ту, которая лучше всего соответствует вашим потребностям.

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

Не забудьте выбрать метод, соответствующий требованиям вашего проекта, и учитывать любые конкретные зависимости или этапы установки для каждой библиотеки. Приятного кодирования!