{
"require":{
"infrajs/excel":"~1"
}
}
Предоставляются 3 функции, которые разбирают данные и возвращают сложный массив со структурой на основе Excel данных.
//1
//Нет требований к структуре Excel документа, данные "как есть"
$data = Xlsx::parse('vendor/infrajs/excel/test.xlsx');
//2
//Простая структура
//Распознаются заголовки таблицы - первая строка с тремя заполненными ячейками.
//Описание таблицы descr над таблицей, структура групп. Одна заполненная ячейка в строке это название новой подгруппы.
//Можно применять Xlsx::runPoss и Xlsx::runGroups
$data = Xlsx::get('vendor/infrajs/excel/test.xlsx');
//3
//Оптимизировання структура.
//Обязательна колонка Артикул, объединение групп.
//Удаление запрещённых символов из свойство Артикул, Производитель
//Появляется параметр more, куда складываются нестандартные колонки,
//Есть опции вторым аргументом.
//Можно передать путь до папки, чтобы обработать сразу все Excel документы.
$data = Xlsx::init('vendor/infrajs/excel/test.xlsx', $option);
Посте установки доступен REST-сервис с настроенным infrajs/router доступен по адресу /-excel/get/~moroz/otzivi.xlsx
в папке с даными data должен быть файл moroz/otzivi.xlsx. Вместо get
также может быть init
, make
.
Опции по умолчанию
$option = array(
'more' => false,
'Переименовать колонки' => array(),
'Удалить колонки' => array(),
'Подготовить для адреса' => array('Артикул'=>'article','Производитель'=>'producer'),//Ничего
'Ссылка parent' => false, //Нет ссылки
'group_title' => true,
'parent_title' => true,
'Игнорировать имена файлов' => false,
'Производитель по умолчанию' => false,
'Не идентифицирующие колонки' => array(),
'root' => 'Каталог',
'Игнорировать имена листов' => false
'Обязательные колонки' => array('article','producer'),
'Сохранить head' => false,
'Имя файла' => 'Производитель',//'Группа'
'listreverse" => false, // Переворачивать список позиций
'Известные колонки' => array('Наименование', 'Артикул', 'Производитель') //Остальные попадают в свойство more
);
Xlsx::runPoss($data, function (&$pos) {
//do magic
});
Xlsx::runGroups($data, function (&$group) {
//do magic
});
- php > 5.4