Php чтение файла Excel

Обновлено: 21.11.2024

Добро пожаловать в краткий учебник о том, как читать файл Excel и отображать его в HTML. Итак, у вас есть файл отчета или журнала в формате файла Excel, и вы хотите отобразить его на веб-сайте в формате HTML? К сожалению, это невозможно с готовым PHP.

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

Да, и на самом деле это не так уж и сложно — читайте пример!

БЫСТРЫЕ СЛАЙДЫ

СОДЕРЖАНИЕ

СКАЧАТЬ И ПРИМЕЧАНИЯ

Во-первых, вот ссылка для загрузки примера кода, как и было обещано.

БЫСТРЫЕ ЗАМЕЧАНИЯ

  • Копия PHPSpreadSheet не включена в zip-файл. Загрузите последнюю версию самостоятельно.

СКАЧАТЬ ПРИМЕР КОДА

Нажмите здесь, чтобы загрузить весь исходный код примера. Я выпустил его под лицензией MIT, так что не стесняйтесь строить на его основе или использовать в своем собственном проекте.

ПРЕОБРАЗОВАТЬ В HTML

Хорошо, теперь давайте рассмотрим пример вывода файла Excel в формате HTML.

ШАГ 1) СКАЧАТЬ PHPSPREADSHEET

  • Загрузите и установите менеджер пакетов Composer.
  • Откройте командную строку (или терминал).
  • Перейдите в папку проекта и запустите composer require phpoffice/phpspreadsheet .

Вот и все, Composer автоматически загрузит последнюю версию PHPSpreadSheet в папку vendor/, и мы можем легко использовать ее с помощью require "vendor/autoload.php".

ШАГ 2) ФАЙЛ-ПРОЕКТ EXCEL

ШАГ 3) ПРОЧИТАЙТЕ EXCEL И ВЫВОДИТЕ HTML

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

ДОПОЛНИТЕЛЬНОЕ) ЧТЕНИЕ НЕСКОЛЬКИХ РАБОЧИХ ТАБЛИЦ

Наконец, это своего рода дополнение: да, мы также можем перебирать несколько рабочих листов. Прочтите их документацию, если хотите узнать больше. Ссылки ниже.

ПОЛЕЗНЫЕ ИНФОРМАЦИИ И ССЫЛКИ

Это все, что касается руководства, и вот небольшой раздел с дополнительными материалами и ссылками, которые могут быть вам полезны.

ЯЧЕЙКИ С ФОРМУЛОЙ

Обратите внимание, что PHPSpreadsheet не оценивает формулы. Просто выполните «преобразование формулы в вычисляемые значения» в Excel и сначала сохраните ее как отдельную таблицу.

ССЫЛКИ И ССЫЛКИ

ОБУЧАЮЩЕЕ ВИДЕО

ИНФОГРАФИЧЕСКАЯ Шпаргалка

КОНЕЦ

Спасибо, что прочитали, и мы подошли к концу. Я надеюсь, что это помогло вам лучше понять, и если вы хотите поделиться чем-либо с этим руководством, пожалуйста, не стесняйтесь комментировать ниже. Удачи и удачного кодирования!

Этот класс можно использовать для анализа и извлечения данных из файлов электронных таблиц Excel XLS.

Он может анализировать данный файл Excel XLS, извлекая файлы его содержимого и анализируя содержащийся в нем файл электронной таблицы XML.

Класс предоставляет функции для извлечения данных для рабочих листов, строк и ячеек электронной таблицы.

Имя: Сергей Щучкин
Классы: 4 пакета Сергея Щучкина
Страна:

Синтаксический анализ и извлечение данных из файлов Excel XLSx. Читатель PHP книг MS Excel 2007. Никаких дополнительных расширений не требуется (внутренняя распаковка + стандартный анализатор SimpleXML).

См. также:
SimpleXLS старый формат MS Excel 97 для чтения php.
SimpleXLSXGen xlsx PHP Writer.

Эй, братан, пожалуйста ? пакет для моей мотивации :) и пожертвуйте для большей мотивации!

Сергей Щучкин

Основное использование

Установка

Рекомендуемый способ установки этой библиотеки — через Composer. Новичок в Composer?

При этом будет установлена ​​последняя поддерживаемая версия:

или скачать курс здесь

Примеры

XLSX в HTML-таблицу

Ячейки XLSX для чтения без запятых и полужирных заголовков

XLSX получает имена и индексы листов

Получает расширенную информацию о ячейке с помощью ->rowsEx()

Выбрать лист

Получить лист по индексу

XLSX::парсить удаленные данные

XLSX::анализ данных памяти

Получить ячейку (медленно)

Помощники DateTime

Строки со значениями заголовков в качестве ключей

Отладка

Классический стиль ООП

Коды ошибок

SimpleXLSX::ParseErrno(), $xlsx->errno()

кодсообщениекомментарий
1Файл не найденГде файл? НЛО?
2Неизвестный формат архиваZIP?
3Ошибка синтаксического анализатора XML-записиневерный XML
4XML-запись не найдена< /td>неверный ZIP-архив
5Запись не найденаФайл не найден в ZIP-архиве
6Рабочий лист не найденНе существует

Файлы
< th>Описание
Файл Роль
примеры (5 файлов)
src (1 файл)
CHANGELOG.md Данные Вспомогательные данные
license.md Lic. Текст лицензии
README.md Док.< /td> Документация

Файлы / примеры
< th>Описание
Файл Роль
01-basic_usage.php Пример Пример скрипта
02-rows_and_rowsEx.php Пример Пример скрипта
03-sheets.php Пример Пример скрипта
04-upload_and_convert_to_html.php Пример Пример сценария
05-rows_with_header_values_as_keys.php Пример Пример сценария

Файлы / src
< th>Описание
Файл Роль
SimpleXLSX.php Класс Источник класса

Если вам известно приложение этого пакета, отправьте сообщение автору, чтобы он добавил сюда ссылку.

Резервное копирование и восстановление базы данных — наиболее важная часть обслуживания программного обеспечения. Периодическое автоматическое резервное копирование необходимо для любого проекта.

В случае неизвестной уязвимости в системе безопасности, которая может привести к краху вашей системы. В такой неудачной ситуации это будет Святой Грааль, чтобы спасти вас, если у вас есть резервная копия.

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

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

Мы собираемся создать собственный клиент базы данных PHP только для импорта данных Excel в базу данных.

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

На этом снимке экрана показаны выходные данные, отображающие список импортированных строк из базы данных.

Что внутри?

Об этом примере импорта Excel

В этом примере пользователь может выбрать шаблон импорта с помощью ввода HTML-формы. Образец шаблона Excel добавлен к этому загружаемому ресурсу.

Если файл действителен, отправка HTML-формы вызовет PHP для обработки синтаксического анализа Excel.

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

Посредством итерации данных массива код будет выполнять вставку в базу данных построчно.

Структура файла

См. файловую структуру примера импорта Excel, показанную ниже. Папка vendor содержит библиотеку PHPSpreadsheet и ее зависимости.

Я предоставил образец шаблона импорта с этими файлами, чтобы поэкспериментировать с операцией импорта.

В файле schema.sql есть сценарий для создания целевой базы данных. Вы можете найти сценарий SQL в следующем разделе.

Скрипт базы данных

Импортируйте следующий сценарий SQL и создайте среду базы данных. Кроме того, настройте данные своей базы данных в DataSource.php, чтобы этот пример заработал.

Создание пользовательского интерфейса для загрузки шаблона импорта

Эта HTML-форма с возможностью загрузки файла используется для выбора источника Excel. При отправке этой формы файл Excel будет отправлен в PHP для анализа источника данных. Этот параметр загрузки файлов позволит выбирать файлы Excel только с помощью атрибута accept.

Этот код также содержит HTML-код ответа для отображения сообщения, возвращаемого из PHP. Это сообщение отображается в зависимости от типа ответа, отправленного PHP после импорта Excel.

Анализ данных Excel с помощью PHPSpreadsheet

В этом коде PHP я указал массив разрешенных типов файлов для проверки типа файла в PHP. Я проверил загруженный тип файла вместе с допустимым типом массива.

Если совпадение найдено, код выполнит дальнейшую логику. В противном случае он вернет пользователю сообщение об ошибке.

При успешной проверке синтаксический анализ файла Excel считывает и преобразует данные в массив. Каждый индекс массива имеет массив данных строки. После чтения данных непустой строки я запускаю вставку базы данных и показываю ответ.

Примечание. Загрузите PHPSpreadsheet и включите в каталог поставщика.

Вы можете скачать этот проект в форматах ZIP или TAR.

Вы также можете клонировать проект с помощью Git, выполнив:

Примечание. Если вы используете Composer для управления библиотеками для вашего проекта PHP, просто включите этот пакет в composer.json

Авторы

Последняя версия

Возможности

  • Анализ Microsoft Excel XML/CSV/TSV/HTML/JSON
  • Написание Microsoft Excel XML/CSV/TSV/HTML/JSON

Зависимости

Установить

Если вы не используете автозагрузчик, просто загрузите эту библиотеку в свой проект PHP, включив SimpleExcel.php

Пример использования

Запись XML-файла Excel 2003, упрощенное: Запись CSV-файла, упрощенное: Преобразование CSV-файла в Excel 2003 XML-файл, упрощенное:

Конструктор

Создание парсера SimpleExcel. Допустимый тип файла: XML/CSV/TSV/HTML/JSON

Создание модуля записи SimpleExcel. Допустимый тип файла: XML/CSV/TSV/HTML/JSON

Конвертер

Перенос данных из синтаксического анализатора в модуль записи с последующим изменением типа модуля записи. Допустимый тип файла: XML/CSV/TSV/HTML/JSON

Парсер

Получить значение указанной ячейки. Возвращает массив

Получить данные указанного столбца в виде массива. Возвращает массив

Получить данные всех ячеек в виде массива. Возвращает массив

Получить данные указанной строки в виде массива. Возвращает массив

Проверить, существует ли указанная ячейка. Возвращает логическое значение

Проверить, существует ли указанный столбец. Возвращает логическое значение

Проверить, существует ли указанная строка. Возвращает логическое значение

Проверить, существует ли таблица. Возвращает логическое значение

Проверить, существует ли файл, действителен ли он и доступен ли он для чтения. Возвращает логическое значение

Загрузить файл для анализа, если он существует и действителен

Загрузить строку для анализа

[Только CSV] Установите символ-разделитель, если он не установлен, он будет определен автоматически

Писатель

Добавление одной строки данных

Получить содержимое документа в виде строки

Экспорт документа, цель по умолчанию — php://output

Установите данные таблицы

[Только CSV] Установите символ-разделитель, по умолчанию используется запятая

Читайте также: