Получение данных из Excel-файла xlsx через php
Рассмотрим, как с помощью языка php получить данные из Excel-файла, который в формате xlsx.
Нам потребуется библиотека PHPExcel, скачать её можно тут.
Из скаченного архива нам понадобится только папка Classes. Копируем её в наш проект.
Создадим функцию, которая будет считывать переданный файл и возвращать нам его данные в массив
<?php
function parse_excel_file( $filename ){
// путь к библиотеки от корня сайта
require_once $_SERVER['DOCUMENT_ROOT'].'/PHPExcel/Classes/PHPExcel.php';
$result = array();
// получаем тип файла (xls, xlsx), чтобы правильно его обработать
$file_type = PHPExcel_IOFactory::identify( $filename );
// создаем объект для чтения
$objReader = PHPExcel_IOFactory::createReader( $file_type );
$objPHPExcel = $objReader->load( $filename ); // загружаем данные файла
$result = $objPHPExcel->getActiveSheet()->toArray(); // выгружаем данные
return $result;
}
Пример
Предположим, наш файл date.xlsx имеет путь site.ru/files/date.xlsx и содержит 3 столбца данных: имя, ключ, значение и 5 строк с заполненными данными. Тогда считывая файл нашей созданной функцией:
<?php
$res = parse_excel_file($_SERVER['DOCUMENT_ROOT'].'/flies/file.xlsx' );
print_r( $res );
Получаем:
Array
(
[0] => Array
(
[0] => Название 1
[1] => Ключ 1
[2] => Значение 1
)
[1] => Array
(
[0] => Название 2
[1] => Ключ 2
[2] => Значение 2
)
...
)
Требование к хостингу:
- Версия PHP 5.2 или выше;
- Включенное расширение PHP php_zip;
- Включенное расширение PHP php_xml;
- Включенное расширение PHP php_gd2.
Комментарии