ceytek-labs/php-spreadsheet-lite

A lightweight library for creating and reading spreadsheets in CSV or XLSX formats using PhpSpreadsheet.

v1.0.2 2024-11-26 18:20 UTC

This package is not auto-updated.

Last update: 2024-12-11 17:00:03 UTC


README

FtpDownloader - Simple FTP File Downloader

Total Downloads Latest Version Size License

PhpSpreadsheetLite - Lightweight Spreadsheet Utility

PhpSpreadsheetLite is a lightweight library designed to simplify creating and reading spreadsheets in CSV or XLSX formats using PhpSpreadsheet. It provides an intuitive API for quick and efficient spreadsheet operations.

Requirements

  • PHP 8.1 or higher
  • PhpSpreadsheet library (automatically installed via Composer)

Installation

Install the package via Composer. This will also install phpoffice/phpspreadsheet automatically:

composer require ceytek-labs/php-spreadsheet-lite

Usage

Here’s an example of how to use PhpSpreadsheetLite:

Creating and Saving a Spreadsheet

use CeytekLabs\PhpSpreadsheetLite\PhpSpreadsheetLite;
use CeytekLabs\PhpSpreadsheetLite\SpreadsheetFormat;

try {
    PhpSpreadsheetLite::make()
        ->setHeaders(['ID', 'Name', 'Email']) // Set the headers
        ->setContent([
            [1, 'John Doe', 'john.doe@example.com'],
            [2, 'Jane Smith', 'jane.smith@example.com'],
        ]) // Add your data
        ->setDirectory('/path/to/save') // Specify directory
        ->setFilename('example') // Specify file name
        ->setFileFormat(SpreadsheetFormat::XLSX) // Supported formats: XLSX, CSV
        ->createSpreadsheet();

    echo "Spreadsheet created successfully.";
} catch (\Exception $exception) {
    echo "Error: " . $exception->getMessage();
}

Reading a Spreadsheet

use CeytekLabs\PhpSpreadsheetLite\PhpSpreadsheetLite;
use CeytekLabs\PhpSpreadsheetLite\SpreadsheetFormat;

try {
    $data = PhpSpreadsheetLite::make()
        ->setDirectory('/path/to/spreadsheet') // Specify directory
        ->setFilename('example') // Specify file name
        ->setFileFormat(SpreadsheetFormat::XLSX) // Match the file format
        ->readSpreadsheet();

    print_r($data);
} catch (\Exception $exception) {
    echo "Error: " . $exception->getMessage();
}

Enum for File Formats

The SpreadsheetFormat enum helps you specify supported file formats consistently:

enum SpreadsheetFormat: string
{
    case XLSX = 'xlsx';
    case CSV = 'csv';
}

Contributing

Feel free to submit a pull request or report an issue. Any contributions and feedback are highly appreciated!

License

This project is licensed under the MIT License.