Чтение Excel на PHP
май
24
, 2015
Как подключиться к документу Excel и считать из него данные
Задача: есть excel-документ.
Нужно подключиться к нему и вытащить данные. Для этого нам понадобится библиотека excel_reader2.
Скачать ее можно с нашего сайта здесь
Пример: имеется excel-документ с прайсом цен, которые нужно экспортировать в таблицу БД.
Например, файл price.xls, который содержит в себе 3 столбца: артикул, название и цена соотвественно в столбцах A, B и C.
Товары начинают идти с 10-й строки, заканчиваются на 100-й.
Нужно перенести данные в таблицу БД, под названием goods, с полями id, good, price (артикул и цена - целые числа для упрощения).
// Подключаем библиотеку
require_once('excel_reader2.php');
// Выводим время начала парсинга, если нам интересно
printf('Начинаем парсинг в %s
', date('y.m.d H:i:s'));
// Получаем объект-таблицу
$data = new Spreadsheet_Excel_Reader('path/to/excel/file/price.xls', false);
$start = 10;
$end = 100;
// Пустая строка для запроса в БД
$insert = '';
// Перебираем строки таблицы
for($row = $start; $row <= $end; $row++) {
// Получаем данные из ячеек
$goodID = trim($data->val($row,'A'));
$name = trim($data->val($row,'B'));
$price = trim($data->val($row,'C'));
// Формируем строку данных для вставки в таблицу
$insert .= ",($goodID, '$name', $price)";
}
// Формируем готовый запрос в БД
$query = 'insert into goods (id, good, price) values '.substr($insert, 1);
// Выполняем запрос любыми удобными средствами
// Пример для Modx Revo
$modx->query($query);
printf('Закончили парсинг в %s
', date('y.m.d H:i:s'));
Заходите в группу в контакте -
https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Истории из жизни айти и обсуждение кода.