PHPackages                             infrajs/excel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. infrajs/excel

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

infrajs/excel
=============

Parser xlsx

v1.0.32(5y ago)12.6k9PHP

Since Nov 24Pushed 4y ago1 watchersCompare

[ Source](https://github.com/infrajs/excel)[ Packagist](https://packagist.org/packages/infrajs/excel)[ Docs](https://github.com/infrajs/excel)[ RSS](/packages/infrajs-excel/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (9)Dependencies (10)Versions (34)Used By (9)

Excel php parser (Xlsx Xls csv)
===============================

[](#excel-php-parser-xlsx-xls-csv)

Установка через composer
========================

[](#установка-через-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 &gt; 5.4

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 98.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~59 days

Recently: every ~89 days

Total

33

Last Release

1952d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/341a8ef8a06866ad99b1bbcf0216fd8e331b076b1690a7d992c386192674b787?d=identicon)[akiyatkin](/maintainers/akiyatkin)

---

Top Contributors

[![akiyatkin](https://avatars.githubusercontent.com/u/953753?v=4)](https://github.com/akiyatkin "akiyatkin (113 commits)")[![oduvanio](https://avatars.githubusercontent.com/u/11479446?v=4)](https://github.com/oduvanio "oduvanio (2 commits)")

### Embed Badge

![Health badge](/badges/infrajs-excel/health.svg)

```
[![Health](https://phpackages.com/badges/infrajs-excel/health.svg)](https://phpackages.com/packages/infrajs-excel)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
