Skip to content

codeinchq/symfony-phpspreadsheet-response

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symfony PhpSpreadsheet HTTP response

Tests Packagist Version Packagist Downloads Packagist License PHP Version

A simple Symfony HTTP response for PhpSpreadsheet written in PHP 8 intended to be used with Symfony's HTTPFoundation component.

Features

  • Supports multiple formats: XLSX, XLS, CSV, ODS, HTML, and PDF
  • Automatic MIME type and extension handling
  • UTF-8 filename support
  • Streamed response for memory efficiency
  • Compatible with PHP 8.1+, Symfony 6/7, and PHPSpreadsheet 1.29+

Usage

Basic usage (XLSX)

<?php
use CodeInc\SpreadsheetResponse\SpreadsheetResponse;
use PhpOffice\PhpSpreadsheet\Spreadsheet;

class MyController extends AbstractController {
    #[Route("/download", name: "download_spreadsheet")]
    public function download(): SpreadsheetResponse {
        $spreadsheet = new Spreadsheet();
        // build the spreadsheet...
        return new SpreadsheetResponse($spreadsheet, "report.xlsx");
    }
}

Export as CSV

use PhpOffice\PhpSpreadsheet\Writer\Csv;

return new SpreadsheetResponse(
    $spreadsheet,
    "export.csv",
    writer: new Csv($spreadsheet)
);

Display inline (in browser)

return new SpreadsheetResponse(
    $spreadsheet,
    "preview.xlsx",
    disposition: 'inline'
);

Installation

This library is available through Packagist and can be installed using Composer:

composer require codeinc/symfony-phpspreadsheet-response

License

This library is published under the MIT license (see the LICENSE file).

About

A Symfony HTTP response for PhpSpreadsheet

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages