infrajs/excel

此包的最新版本(v1.0.32)没有提供许可信息。

解析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服务访问,地址为/-excel/get/~moroz/otzivi.xlsx,在data文件夹中应有文件moroz/otzivi.xlsx。除get外,还可以使用initmake

默认选项

$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