Convertir tablas HTML a archivos de Excel

Ticketpark/htmlphpexcel
Resultado de imagen para html to 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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.