infrajs/excel

There is no license information available for the latest version (v1.0.32) of this package.

Parser xlsx

v1.0.32 2021-02-18 07:32 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