SkillAgentSearch skills...

ArrayExcelBuilder

The extension creates an Excel file from the data array.

Install / Use

/learn @KebaCorp/ArrayExcelBuilder
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <a href="https://github.com/KebaCorp" target="_blank"> <img src="https://avatars0.githubusercontent.com/u/29224726?s=400&u=ed586fe0e07d9d68d1594e0020d7e8e5fd2ac3d5&v=4" height="200px"> </a> <h1 align="center">ArrayExcelBuilder</h1> <br> </p>

The component CREATES an Excel file from the data array or READS from Excel file to array.

Based on PHPOffice/PhpSpreadsheet

For license information check the LICENSE-file.

Latest Stable Version Total Downloads

Requirements:

  • PHP 5.6 and higher.
  • PHP 7.4 is supported since ArrayExcelBuilder v4.0.1

Installation:

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist kebacorp/arrayexcelbuilder

or add

"kebacorp/arrayexcelbuilder": "*"

to the require section of your composer.json.

Usage:

"Hello world!" example

<?php

use KebaCorp\ArrayExcelBuilder\ArrayExcelBuilder;

// Array data
$data = [
    // Sheet 1
    [
        // Sheet options
        'sheetName' => 'Hello world page',
        'data' => [
            // Column 1
            [
                // Row 1
                [
                    // Cell options
                    'value' => 'Hello world!',
                ],
                // Row n...
            ],
            // Column n...
        ],
    ],
    // Sheet n...
];

// Create excel file from array
$arrayExcelBuilder = new ArrayExcelBuilder($data);
$arrayExcelBuilder->save();

?>

Matrix data example

<?php

use KebaCorp\ArrayExcelBuilder\ArrayExcelBuilder;

// Array data
$data = [
    // Sheet 1
    [
        // Sheet options
        'sheetName' => 'Hello world page',
        'data' => [
            // Column 1
            [
                'Hello world!', // Row 1
                true,           // Row 2
                100500,         // Row 3
                'Other value',  // Row 4
                [               // Row 4
                    'value' => 'I can configure the cell in more detail',
                    // Other cell options...
                ],
                // Row n...
            ],
            // Column 2
            [
                'Hello world!',         // Row 1
                true,                   // Row 2
                100500,                 // Row 3
                10 => 'Other value',    // Row 9
                // Row n...
            ],
            // Column n...
        ],
    ],
    // Sheet n...
];

// Create excel file from array
$arrayExcelBuilder = new ArrayExcelBuilder($data);
$arrayExcelBuilder->save();

?>

Sheet parameter "isRowDirection" example

<?php

use KebaCorp\ArrayExcelBuilder\ArrayExcelBuilder;

// Array data
$data = [
    // Sheet 1
    [
        // Sheet options
        'sheetName' => 'Hello world page',
        'isRowDirection' => true,
        'data' => [
            // Row 1
            [
                'Hello world!', // Column 1
                 true,          // Column 2
                 100500,        // Column 3
                'Other value',  // Column 4
                 // Column n...
            ],
            // Row 2
            [
                'Hello world!', // Column 1
                 true,          // Column 2
                 100500,        // Column 3
                'Other value',  // Column 4
                 // Column n...
            ],
            // Row n...
        ],
    ],
    // Sheet n...
];

// Global cell params
$globalParams = [];

// Create excel file from array
$arrayExcelBuilder = new ArrayExcelBuilder($data, $globalParams);
$arrayExcelBuilder->save();

?>

Рекомендации:

  • Рекомендуется использовать глобальные параметры, вместо одинаковых параметров у каждой ячейки, если необходимо настроить все или большинство ячеек одинаково.

  • Каждый параметр увеличивает время создания файла. Поэтому один параметр "styleArray" (массив с настройками стиля ячейки) будет исполняться существенно быстрее, чем аналогичные параметры (borderBottom, bold, fontColor, fontSize и т. д.) по отдельности.

  • Не рекомендуется использовать в качестве ключей массивов колонок и строк не числа. Позиция следующей ячейки в таком случае может сбиться!

Полезно знать:

  • Позиция ячейки относительно ключа массива:

Если массив с данными будет ассоциативным, и ключи будут в виде цифр, то ячейка будет расположена относительно ключа. Отсчет начинается с нуля.

Например:

<?php

$data = [
    1 => [
        8 => ['value' => 'Hello, World!']
    ]
];

В данном примере текст "Hello, World!" будет расположен в ячейке "B9".

Params:

Sheet options

| Name | Type | Default | Description | | -------- |:----:| ------- | ----------- | | autoSize | bool | false | Авторазмер ячеек. Если у ячейки задана ширина, то "autoSize" будет проигнорирован. | | charts | array | none | Массив данных для создания графиков. Подробнее в Charts. | | data | array | none | Массив данных. Обязательный параметр. | | freezeCell | string | none | Зафиксировать ячейки по координату. Например 'B2' - зафиксирует первую строку и первый столбец. | | isRowDirection | bool | false | Заполнять данные построчно, либо по колонкам. По умолчанию заполнение по колонкам. | | sheetName | string | auto generate | Заголовок страницы. Если не передавать данный параметр, либо передать пустую строку, то название сгенерируется автоматически. | | sheetNameInvalidCharactersReplacement | string | ' ' | Заменитель недопустимых символов в заголовке страницы. | | showGridLines | bool | true | Отобразить сетку. |

Global cell options

| Name | Type | Default | Description | | -------- |:----:| ------- | ----------- | | allBorderBottom | string | 'none' | Рамка у всех ячеек снизу: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | allBorderRight | string | 'none' | Рамка у всех ячеек справа: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | allBorderLeft | string | 'none' | Рамка у всех ячеек слева: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | allBorderTop | string | 'none' | Рамка у всех ячеек сверху: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | allBorderBottomColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "allBorderBottom". Цвет заливки рамки у всех ячеек снизу. HEX без #. Например: 'FFFFFF'. | | allBorderRightColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "allBorderRight". Цвет заливки рамки у всех ячеек справа. HEX без #. Например: 'FFFFFF'. | | allBorderLeftColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "allBorderLeft". Цвет заливки рамки у всех ячеек слева. HEX без #. Например: 'FFFFFF'. | | allBorderTopColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "allBorderTop". Цвет заливки рамки у всех ячеек сверху. HEX без #. Например: 'FFFFFF'. | | bold | bool | false | Жирный шрифт. | | borderBottom | string | 'none' | Рамка у ячейки снизу: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderRight | string | 'none' | Рамка у ячейки справа: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderLeft | string | 'none' | Рамка у ячейки слева: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderTop | string | 'none' | Рамка у ячейки сверху: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderVertical | string | 'none' | Вертикальная рамка у ячейки: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderHorizontal | string | 'none' | Горизонтальная рамка у ячейки: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin. | | borderBottomColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderBottom". Цвет заливки рамки у ячейки снизу. HEX без #. Например: 'FFFFFF'. | | borderRightColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderRight". Цвет заливки рамки у ячейки справа. HEX без #. Например: 'FFFFFF'. | | borderLeftColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderLeft". Цвет заливки рамки у ячейки слева. HEX без #. Например: 'FFFFFF'. | | borderTopColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderTop". Цвет заливки рамки у ячейки сверху. HEX без #. Например: 'FFFFFF'. | | borderVerticalColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderVertical". Цвет заливки вертикальной рамки у ячейки. HEX без #. Например: 'FFFFFF'. | | borderHorizontalColor | HEX color string | '000000' | ВНИМАНИЕ! Необходимо установить "borderHorizontal". Цвет заливки горизонтальной рамки у ячейки. HEX без #. Например: 'FFFFFF'. | | callback | function | null | Функция обратного вызова. Вызывае

Related Skills

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated3mo ago
Forks1

Languages

PHP

Security Score

72/100

Audited on Dec 9, 2025

No findings