A (very simple) XLSX parser

v0.0.1 2013-01-05 12:37 UTC


A (Very Simple) XLSX Parser


Install with Composer.

    "require": {
        "lazuli/vsxlsx": "0.0.1"


require 'vendor/autoload.php';

$parser = new VSXLSX\Parser($filename, /*sheet number */);

if ($parser->parse()) {
    // Returns an array
    $parsed = $parser->get_parsed();
    /* Do something with the parsed array */
} else {
    foreach($parser->get_errors() as $error) {
        echo "Error: $error\n";

Column Names

With a header

By default, the parser assumes there is a 'header' row. The first row will be used to generate column titles. They will be lowercased and have whitespace replaced by underscores.

Assuming cell A1 is 'Product Name', the associated key in the resultant array from get_parsed() will be product_name.

The column titles can be overridden with an array passed to the header_names method before parsing. This array can use numeric or alphabetical indices, interchangeably.

    $column_names = array();

    // Any of these will override the first column's title
    $column_names[0] = 'product_title';
    $column_names['a'] = 'product_title';
    $column_names['A'] = 'product_title';

    // This will add a title for the 27th column (index 26)
    $column_names['aa'] = 'image_url';


Without a header

If the parser is missing the header row, use the has_header_row method with false before parsing.


API Docs

Available here.