2017 © Pedro Peláez
 

library spreadsheet-parser

Allows you to parse and import spreadsheet data files

image

linio/spreadsheet-parser

Allows you to parse and import spreadsheet data files

  • Friday, July 20, 2018
  • by linio
  • Repository
  • 3 Watchers
  • 7 Stars
  • 651 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 3 Open issues
  • 5 Versions
  • 6 % Grown

The README.md

Linio Spreadsheet Parser

Latest Stable Version License Build Status Scrutinizer Code Quality, (*1)

Linio Spreadsheet Parser allows you to parse and import data files. This component supports both text and binary file formats., (*2)

Install

The recommended way to install Linio Spreadsheet Parser is through composer., (*3)

$ composer install linio/spreadsheet-parser

Tests

To run the test suite, you need install the dependencies via composer, then run PHPUnit., (*4)

$ composer install
$ vendor/bin/phpunit

Usage

There are two ways of using the parser: standalone or as a service., (*5)

Standalone

<?php

use Linio\Component\SpreadsheetParser\Spreadsheet;

$spreadsheet = new Spreadsheet('/folder/file.csv');

$columnNames = $spreadsheet->getColumnNames();
$data = $spreadsheet->getData();

Service

<?php

$container['spreadsheet.parser'] = function() {
    return new SpreadsheetParserService();
}

$spreadsheet = $container['spreadsheet.parser']->parseSpreadsheet($filePath, $fileType, $options);
$columnNames = $spreadsheet->getColumnNames();
$data = $spreadsheet->getData();

Methods

Constructor

<?php

    use Linio\Component\SpreadsheetParser\Spreadsheet;
    use Linio\Component\SpreadsheetParser\Exception\FileNotFoundException;
    use Linio\Component\SpreadsheetParser\Exception\InvalidFileTypeException;
    use Linio\Component\SpreadsheetParser\Parser\CsvParser;

    /**
     * @param $filePath
     * @param string $fileType
     * @param array $options
     *
     * @throws FileNotFoundException
     * @throws InvalidFileTypeException
     */
    public function __construct($filePath, $fileType = null, array $options = []);

    $spreadsheet = new Spreadsheet('/folder/file.txt', Spreadsheet::TYPE_CSV, [CsvParser::OPTION_DELIMITER => ';']);

The $fileType parameter is optional. If not present, it will use the file extension to determine its type., (*6)

open

This method opens the file. This is an optional step as the methods that read from the file will open the file automatically if the file was not opened before they are called., (*7)

<?php

     /**
     * @return void
     */
    public function open();

getColumnNames

This method returns the column names from the file (first row) or false if the option has_column_names was set to false when creating the Spreadsheet object., (*8)

<?php

    /**
     * @return array|false
     */
    public function getColumnNames();

    $columnNames = $spreadsheet->getColumnNames();

getData

<?php

    /**
     * @param int $numRows
     *
     * @return array
     */
    public function getData($numRows = 0);

    $dataWholeFile = $spreadsheet->getData();

    $dataFirst5Lines = $spreadsheet->getData(5);

close

This method closes the open handles and deletes the temporary files created. It should always be called when you don't need to access the file anymore., (*9)

<?php

     /**
     * @return void
     */
    public function close();

    $spreadsheet->close();

Parsers

csv

Parser for CSV files., (*10)

Parser options:, (*11)

  • CsvParser::OPTION_HAS_COLUMN_NAMES (defaults to true)
  • CsvParser::OPTION_LENGTH (defaults to 0)
  • CsvParser::OPTION_DELIMITER (defaults to ,)
  • CsvParser::OPTION_ENCLOSURE (defaults to ")
  • CsvParser::OPTION_ESCAPE (defaults to \)

xlsx

Parser for XLSX (Excel 2007+) files. The OPTION_SHEET_INDEX setting specifies the desired sheet index to import within the file. The OPTION_SHEET_NAME setting has precedence over the setting OPTION_SHEET_INDEX. If both are specified, the parser will only try to use the sheet specified by OPTION_SHEET_NAME., (*12)

Parser options:, (*13)

  • XlsxParser::OPTION_HAS_COLUMN_NAMES (defaults to true)
  • XlsxParser::OPTION_SHEET_INDEX (defaults to 1)
  • XlsxParser::OPTION_SHEET_NAME (defaults to null)

The Versions

20/07 2018

dev-master

9999999-dev

Allows you to parse and import spreadsheet data files

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

csv parser spreadsheet xlsx linio

06/07 2018

dev-dependabot/composer/mikey179/vfsStream-1.4.star|1.6.star

dev-dependabot/composer/mikey179/vfsStream-1.4.star|1.6.star

Allows you to parse and import spreadsheet data files

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

csv parser spreadsheet xlsx linio

06/07 2018

dev-dependabot/composer/phpunit/phpunit-tw-5.0|tw-7.0

dev-dependabot/composer/phpunit/phpunit-tw-5.0|tw-7.0

Allows you to parse and import spreadsheet data files

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

csv parser spreadsheet xlsx linio

21/04 2016

1.0.1

1.0.1.0

Allows you to parse and import spreadsheet data files

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

csv parser spreadsheet xlsx linio

16/03 2015

1.0.0

1.0.0.0

Allows you to parse and import spreadsheet data files

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

csv parser spreadsheet xlsx linio