ticketpark/htmlphpexcel

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

Installs: 1 929

Dependents: 1

Stars: 5

Watchers: 3

Forks: 4

Open Issues: 1

Language: PHP

0.3.2 2015-06-25 20:53 UTC

README

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

Please note: This is a very early version of this library. Use on your own risk.

Todos

  • Write documentation for usage of table class, row class and cell class filtering.
  • Write documentation for usage of utf8EncodeValues() and utf8DecodeValues()

Installation

Add HtmlPhpExcel in your composer.json:

{
    "require": {
        "ticketpark/htmlphpexcel": "0.3.1"
    }
}

Now tell composer to download the bundle by running the command:

$ php composer.phar update 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);

// 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.xls');

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

For a more complex example with styling options see example directory.

Styling

There is support for specific html attributes to allow styling of the excel output. The attributes expect the content to be json_encoded.

  • _excel-styles
    Supports everything which is possible with PHPExcel's applyFromArray() method (also see here).

Example:

<table>
    <tr>
        <td _excel-styles='{"font":{"size":16,"color":{"rgb":"FF0000"}}}'>Foo</td>
    </tr>
</table>
  • _excel-dimensions
    Supports changing dimensions of rows (when applied to a <tr> or <td>) or column (when applied to a <td>),

Example:

<table>
    <tr _excel-dimensions='{"row":{"rowHeight":50}}'>
        <td _excel-dimensions='{"column":{"width":20}}'>Foo</td>
    </tr>
</table>
  • _excel-explicit
    Supports applying an explicit cell value type.

Example:

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

License

This bundle is under the MIT license. See the complete license in the bundle:

Resources/meta/LICENSE