infrajs / excel
此包的最新版本(v1.0.32)没有提供许可信息。
解析xlsx
v1.0.32
2021-02-18 07:32 UTC
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-09-24 13:02:09 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服务访问,地址为/-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