ligne/xls-generator

XLS generator from array

1.3.2 2019-09-03 20:19 UTC

This package is auto-updated.

Last update: 2024-04-29 04:53:15 UTC


README

Es una clase generadora de archivos XLS a partir de una matriz asociativa unidimensional, esto tiene la flexibilidad de poder utilizarse no solo para descargar archivos si no también para presentar tablas de datos.

Instalación 🚀

$ composer require ligne/xls-generator

Usos 📚

Para el ejemplo usaremos este array de 5 usuarios.

$array = array(
    0 =>
    array(
        'id' => 1,
        'name' => 'Leanne Graham',
        'username' => 'Bret',
        'email' => 'Sincere@april.biz',
        'phone' => '1-770-736-8031 x56442',
        'website' => 'hildegard.org',
    ),
    1 =>
    array(
        'id' => 2,
        'name' => 'Ervin Howell',
        'username' => 'Antonette',
        'email' => 'Shanna@melissa.tv',
        'phone' => '010-692-6593 x09125',
        'website' => 'anastasia.net',
    ),
    2 =>
    array(
        'id' => 3,
        'name' => 'Clementine Bauch',
        'username' => 'Samantha',
        'email' => 'Nathan@yesenia.net',
        'phone' => '1-463-123-4447',
        'website' => 'ramiro.info',
    ),
    3 =>
    array(
        'id' => 4,
        'name' => 'Patricia Lebsack',
        'username' => 'Karianne',
        'email' => 'Julianne.OConner@kory.org',
        'phone' => '493-170-9623 x156',
        'website' => 'kale.biz',
    ),
    4 =>
    array(
        'id' => 5,
        'name' => 'Chelsey Dietrich',
        'username' => 'Kamren',
        'email' => 'Lucio_Hettinger@annie.ca',
        'phone' => '(254)954-1289',
        'website' => 'demarco.info',
    ),
    5 =>
    array(
        'id' => 6,
        'name' => 'Mrs. Dennis Schulist',
        'username' => 'Leopoldo_Corkery',
        'email' => 'Karley_Dach@jasper.info',
        'phone' => '1-477-935-8478 x6430',
        'website' => 'ola.org',
    )
);

Uso basico:

use Ligne\XlsGenerator;
//...
$xls = new XlsGenerator($array);
 var_dump($xls->getXls());

Resultado 👓

Opciones; ⚙

El constructor de la clase también recibe ciertas opciones que te permiten decidir que obtener;

array $content: Arreglo asociativa unidimensional

array $omit_fields = array(): Arreglo con nombres de campos que requiera omitir,

bool $downloable = false: Si se desea que se descargue como archivo xls

bool $hasHeader = true: Si tiene encabezados para incluirlos (Estos son los indices de la del arreglo)

Ejemplo:

En este ejemplo omitiremos el campo phone

$xls = new XlsGenerator($array,['phone'],false,true);
var_dump($xls->getXls());

Resultado 👓

Cualquier sugerencia siempre es bien recibida.