vielhuber/excelhelper

A super simple excel wrapper in php.

1.2.2 2023-01-21 00:08 UTC

This package is auto-updated.

Last update: 2024-04-21 03:03:29 UTC


README

build status

📗 excelhelper 📗

excelhelper is a helper for excel.

with its help you can write and read to xlsx/xls/csv in php in a very simple, webdev-friendly way. it also handles issues with big numbers and other quirks.

installation

install once with composer:

composer require vielhuber/excelhelper

then add this to your files:

require __DIR__ . '/vendor/autoload.php';
use vielhuber\excelhelper\excelhelper;

usage

reading

$array = excelhelper::read([
    'file' => 'file.xlsx',
    'first_line' => true, // true|false
    'format_cells' => false, // false|true
    'all_sheets' => false, // false|true
    'friendly_keys' => false // false|true
]);

writing

excelhelper::write([
    'file' => 'file.xlsx', // can write xlsx, xls and csv; if null, a filename is suggested
    'engine' => 'phpspreadsheet',
    'output' => 'save', // save|download
    'style_header' => true, // true|false
    'autosize_columns' => true, // true|false
    'auto_borders' => true, // true|false
    'remove_empty_cols' => false, // true|false
    'data' => [
        ['a1', 'b1', 'c1'],
        ['a2', 'b2', 'c2'],
        [
            [
                'value' => 'a3',
                'background-color' => '#ff0000',
                'color' => '#ffffff',
                'font-weight' => 'bold',
                'border' => '1px solid #000',
                'text-align' => 'center'
            ],
            [
                'value' => 'b3',
                'background-color' => '#ff0000',
                'color' => '#ffffff',
                'font-weight' => 'bold',
                'border' => '1px solid #000',
                'text-align' => 'left'
            ],
            [
                'value' => 'c3',
                'background-color' => '#ff0000',
                'color' => '#ffffff',
                'font-weight' => 'bold',
                'border' => '1px solid #000',
                'text-align' => 'right'
            ]
        ]
    ]
]);
excelhelper::write([
    'file' => 'file.xlsx',
    'engine' => 'phpspreadsheet',
    'output' => 'save',
    'data' => [
        'Sheet 1' => [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2']],
        'Sheet 2' => [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2']],
        'Sheet 3' => [['a1', 'b1', 'c1'], ['a2', 'b2', 'c2']]
    ]
]);