infrajs / excel
Parser xlsx
Installs: 2 370
Dependents: 11
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- akiyatkin/dabudi: ~1
- infrajs/access: ~1
- infrajs/ans: ~1
- infrajs/cache: ~1
- infrajs/each: ~1
- infrajs/load: ~1
- infrajs/path: ~1
- infrajs/rest: ~1
- infrajs/router: ~1
- infrajs/sequence: ~1
This package is auto-updated.
Last update: 2024-12-24 13:39:37 UTC
README
Установка через composer
{ "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