ticketpark/htmlphpexcel

A php library to convert html tables to Excel files, including styling.

2.2.1 2024-05-23 11:05 UTC

This package is auto-updated.

Last update: 2024-12-23 12:41:31 UTC


README

Build Status

This is a php library based on FastExcelWriter, simplifying converting html tables to excel files. It allows styling right within the html template with specific attributes.

Installation

Add HtmlPhpExcel to your composer.json:

composer require ticketpark/htmlphpexcel

Simple example

<?php

require_once('vendor/autoload.php');

$html = '<table><tr><th>Column A</th><th>Column B</th></tr><tr><td>Value A</td><td>Value B</td></tr></table>';
$htmlPhpExcel = new \Ticketpark\HtmlPhpExcel\HtmlPhpExcel($html);

$htmlPhpExcel->process()->save('myFile.xlsx');

For a more complex example see example directory.

Styling

Styles are set with an html attribute _excel-styles. The attribute expects the content to be in json format.

Example:

<table>
    <tr _excel-styles='{"height": 50}'>
        <td _excel-styles='{"font-size": 16, "font-color": "#FF0000", "width": 200}'>
            Cell value
        </td>
    </tr>
</table>

You can use any style supported by fast-excel-writer, of which the most common are:

  • border-color
  • border-style
  • fill-color
  • fill-pattern
  • font-color
  • font-size
  • format
  • format-text-wrap
  • height
  • hyperlink
  • text-align
  • text-color
  • text-rotation
  • text-wrap
  • vertical-align
  • width

More information (though unfortunately limited) is available in the docs of FastExcelWriter.

Adding links to cells

Links are treated like styles and added with the hyperlink key:

Example:

<table>
    <tr>
        <td _excel-styles='{"hyperlink": "http://www.google.com"}'>
            Cell value
        </td>
    </tr>
</table>

Adding comments to cells

To add comments, use the _excel-comment attribute.

Example:

<table>
    <tr >
        <td _excel-comment="This is a comment.">
            Cell value
        </td>
    </tr>
</table>

History

  • v2.x of this library is based on FastExcelWriter
  • v1.x of this library was based on PhpSpreadsheet
  • v0.x of this library was based on PhpExcel