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.
Add HtmlPhpExcel to your composer.json:
composer require ticketpark/htmlphpexcel
<?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.
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.
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>
To add comments, use the _excel-comment
attribute.
Example:
<table>
<tr >
<td _excel-comment="This is a comment.">
Cell value
</td>
</tr>
</table>
- 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