Convertir tablas HTML a archivos de Excel

Una biblioteca desarrollada con php basada en PHPExcel para convertir tablas html a archivos de Excel, incluido el estilo.

Esta es una biblioteca desarrollada con php basada en PhpSpreadsheet que simplifica la conversión de tablas html a archivos de Excel. Permite diseñar directamente dentro de la plantilla html con atributos específicos.

Instalación: 

Agrega HtmlPhpExcel a su composer.json:

composer require ticketpark/htmlphpexcel

Ejemplo simple

<?php

require_once('vendor/autoload.php');

$html = '<table><tr><th>Columna A</th><th>Columna B</th></tr>';
$inicio=1;
while ($inicio<20){
	
	$html.= "<tr>
				<td _excel-dimensions='{\"column\":{\"width\":30}}'>$inicio A</td>
				<td>$inicio B</td>
			</tr>";
	$inicio++;
}

 $html.='</table>';

$htmlPhpExcel = new \Ticketpark\HtmlPhpExcel\HtmlPhpExcel($html);

// Create and output the excel file to the browser
$htmlPhpExcel->process()->output();

// Alternatively create the excel and save to a file
$htmlPhpExcel->process()->save('myFile.xlsx');

// or get the \PhpOffice\PhpSpreadsheet\Spreadsheet object to do further work with it
$phpExcelObject = $htmlPhpExcel->process()->getExcelObject();

Estilos:

Hay soporte para atributos html específicos para permitir el diseño del archivo Excel de  salida. Los atributos esperan que el contenido se codifique en json.

  • _excel-styles: Soporta todo lo que es posible con el método applyFromArray () de PhpSpreadsheet (consulte aquí). Ejemplo:
<table>
    <tr>
        <td _excel-styles='{"font":{"size":16,"color":{"rgb":"FF0000"}}}'>Foo</td>
    </tr>
</table>

_excel-dimensions:  Soporta dimensiones cambiantes de filas  cuando se aplica un <tr> o un <td>. Ejemplo:

<table>
    <tr _excel-dimensions='{"row":{"rowHeight":50}}'>
        <td _excel-dimensions='{"column":{"width":20}}'>Foo</td>
    </tr>
</table>

_excel-explicit: Soporta un tipo de valor de celda explicito. Ejemplo

<table>
    <tr>
        <td _excel-explicit='PhpSpreadsheet_Cell_DataType::TYPE_STRING'>0022</td>
    </tr>
</table>

Requiere:

  • php: >=7.1
  • doctrine/common: ~2.4
  • phpoffice/phpspreadsheet: ^1.6

Para mayor información del uso de le librería visita su repositorio en Ticketpark/HtmlPhpExcel

Deja un comentario