Все для создания и продвижения сайтов

Верстка, программирование, SEO

Получение данных из 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.
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.