Welcome to PhpSpreadsheet's documentation

Logo

PhpSpreadsheet is a library written in pure PHP and providing a set of classes that allow you to read from and to write to different spreadsheet file formats, like Excel and LibreOffice Calc.

File formats supported

Format Reading Writing
Open Document Format/OASIS (.ods)
Office Open XML (.xlsx) Excel 2007 and above
BIFF 8 (.xls) Excel 97 and above
BIFF 5 (.xls) Excel 95
SpreadsheetML (.xml) Excel 2003
Gnumeric
HTML
SYLK
CSV
PDF (using either the tcPDF, DomPDF or mPDF libraries, which need to be installed separately)

Getting started

Software requirements

The following software is required to develop using PhpSpreadsheet:

  • PHP version 5.6 or newer
  • PHP extension php_zip enabled
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (if not compiled in)

PHP version support

Support for PHP versions will only be maintained for a period of six months beyond the end-of-life of that PHP version

Installation

Use composer to install PhpSpreadsheet into your project:

composer require phpoffice/phpspreadsheet

Note: If you want the unreleased, unstable development version use phpoffice/phpspreadsheet:dev-develop instead.

Hello World

This would be the simplest way to write a spreadsheet:

<?php

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');

Learn by example

A good way to get started is to run some of the samples. Serve the samples via PHP built-in webserver:

php -S localhost:8000 -t vendor/phpoffice/phpspreadsheet/samples

Then point your browser to:

http://localhost:8000/

The samples may also be run directly from the command line, for example:

php vendor/phpoffice/phpspreadsheet/samples/01_Simple.php

Learn by documentation

For more in-depth documentation, you may read about an overview of the architecture, creating a spreadsheet, worksheets, accessing cells and reading and writing to files.

Credits

Please refer to the contributor list for up-to-date credits.