承接 linio/spreadsheet-parser 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

linio/spreadsheet-parser

最新稳定版本:1.0.2

Composer 安装命令:

composer require linio/spreadsheet-parser

包简介

Allows you to parse and import spreadsheet data files

README 文档

README

Latest Stable Version License Build Status Scrutinizer Code Quality

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

Install

The recommended way to install Linio Spreadsheet Parser is through composer.

$ composer install linio/spreadsheet-parser

Tests

To run the test suite, you need install the dependencies via composer, then run PHPUnit.

$ composer install
$ vendor/bin/phpunit

Usage

There are two ways of using the parser: standalone or as a service.

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.

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.

<?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.

<?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.

<?php

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

    $spreadsheet->close();

Parsers

csv

Parser for CSV files.

Parser options:

  • 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.

Parser options:

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

统计信息

  • 总下载量: 2.31k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 52
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-03-16