ticketpark / htmlphpexcel
A php library to convert html tables to Excel files, including styling.
Installs: 270 702
Dependents: 4
Suggesters: 0
Security: 0
Stars: 73
Watchers: 6
Forks: 28
Open Issues: 1
Requires
- php: ~8.0.0|~8.1.0|~8.2.0|~8.3.0
- ext-dom: *
- ext-intl: *
- ext-json: *
- avadim/fast-excel-helper: ^1.0.4
- avadim/fast-excel-writer: ^4.5|^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.35
- phpunit/phpunit: ^9.0
- rector/rector: ^0.18.5
README
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