Crear Documentos de PHP en una Plantilla Excel

El paquete AnourValar/office es una biblioteca PHP +8.1 para generar documentos a partir de plantillas XLSX.

Generación de Documentos Usando Plantillas Excel

Usando el siguiente código puedes generar un documento usando los valores de la plantilla:

$data = [
    // escalar
    'vat' => 'No',
    'total' => [
        'price' => 2004.14,
        'qty' => 3,
    ],

    // tabla unidimensional
    'products' => [
        [
            'name' => 'Product #1',
            'price' => 989,
            'qty' => 1,
            'date' => new DateTime('2022-03-30'),
        ],
        [
            'name' => 'Product #2',
            'price' => 1015.14,
            'qty' => 2,
            'date' => new DateTime('2022-03-31'),
        ],
    ],
];

// Guardar como XLSX (Excel)
(new AnourValarOfficeTemplateService())
    ->generate(
        'template1.xlsx', // ruta a la plantilla
        $data // datos de entrada
    )
    ->saveAs(
        'generated_document.xlsx', // ruta de guardado
        AnourValarOfficeFormat::Xlsx // formato de guardado
    );

Lo cual produce lo siguiente basado en el archivo template1.xlsx.

Formatos de Guardado Soportados

Al guardar el documento, este paquete soporta múltiples formatos de guardado, incluyendo:

  • XLSX
  • PDF
  • HTML
  • ODS ️

Funcionalidades Adicionales ️

Aparte de generar archivos a partir de plantillas XLSX, este paquete también soporta:

  • Tablas bidimensionales
  • Inserción de imágenes ️
  • Plantillas dinámicas
  • Combinar múltiples documentos en un solo archivo
  • Exportación de tablas (servicio de cuadrícula)

Consulta el README para obtener más detalles sobre cómo usar este paquete. Vas aprender más sobre este paquete, obtener instrucciones completas de instalación y ver el código fuente en GitHub.