Блог старого компьютера

Блог старого компьютера


Главная PHP Парсим xls (exel) на php

Парсим xls (exel) на php

16.05.2013 10:20 Администратор PHP
Печать PDF
Примерно год назад мне необходимо было релизовать на одном из сайтов клиентов загрузку и обновление информации которая бы бралась из xls файла который они загрузили. Если информация под определенным id изменилась то она изменялась и на сайте, если появлялась в эксель файле новая строк с данными то она добалвлась. В итоге должен был получится скрипт который добалвяет торги на сайт из xls файла и в последующем если торги прошли то опять же из свеже загруженного файла он пополнял информацию о победителе торгов и цене.

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

Для решения задачи я нашел Microsoft Excel Spreadsheets и успешно его использовал. Сегодня расскажу и вам как просто это все дело организоввать. Microsoft Excel Spreadsheets состоит из 2 файлов oleread.inc и reader.php.

Кидаем эти файлы в папку с вашим проектом (файлы на всякий случай я приложу).

Далее в иполняем файле необходимо пишем следующий код:

require_once ('reader.php'); // подключаем класс
$Excel = new Spreadsheet_Excel_Reader(); // создаем объект
$Excel->setOutputEncoding('utf-8'); // устанавливаем кодировку
$Excel->read('excel.xls'); // открываем файл
$line=$Excel->sheets[0]['cells'];

 Собственно и все. Переменная $line будет содержать в себе массив строк и ячеек. К примеру вот так:

echo $line[1][1];

 мы выведем на экран ячейку у которой кодината равна x=1 y=1, хотя скорее всего я ошибаюсь уже сейчас не помню, вот так выведет содержимое ячейки у которой x=1 и y=1

echo $line[0][0];

 все же это массив и разумно предпологать что он начинается с нуля.

На изобретение такого велосипеда у нас бы с вами явно ушло не меньше недели так как надо знать как строится этот самый xls файл.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела