How to export data to XLSX file in PHP


| Tutorial 04
| This tutorial shows how to export data to XLSX file that has
| multiple sheets in PHP. The first sheet is filled with data.
Click here to see the Excel file


header("Content-Type: text/html");

echo "Tutorial 04<br>";
echo "----------<br>";

// Create an instance of the class that exports Excel files
$workbook = new COM("EasyXLS.ExcelDocument");

// Create two sheets
$workbook->easy_addWorksheet_2("First tab");
$workbook->easy_addWorksheet_2("Second tab");

// Get the table of data for the first worksheet
$xlsFirstTable = $workbook->easy_getSheetAt(0)->easy_getExcelTable();

// Add data in cells for report header
for ($column=0; $column<5; $column++)
    $xlsFirstTable->easy_getCell(0,$column)->setValue("Column " . ($column + 1));

// Add data in cells for report values
for ($row=0; $row<100; $row++)
    for ($column=0; $column<5; $column++)
        $xlsFirstTable->easy_getCell($row+1,$column)->setValue("Data ".($row + 1).", ".($column + 1));

// Set column widths

// Export the XLSX file
echo "Writing file: C:\Samples\Tutorial04.xlsx<br>";

// Confirm export of Excel file
if ($workbook->easy_getError() == "")
    echo "File successfully created.";
    echo "Error encountered: " . $workbook->easy_getError();

// Dispose memory
$workbook = null;


Overloaded methods
For methods with same name but different parameters, only the first method overload retains the original name. Subsequent overloads are uniquely renamed by appending to the method name '_2', '_3', etc (method, method_2, method_3), an integer that corresponds to the order of declaration that can be found in EasyXLS.h, a file that comes with EasyXLS installation.

Linux and PHP
This code sample works just the way it is for PHP on Windows, but PHP under Linux requires also PHP/Java Bridge and a similar code sample in Java.

EasyXLS Excel libraries:

Excel Library for PHP
full COM+ version to import, export or convert Excel files
Excel Writer for PHP
COM+ version to create and export Excel files
Download EasyXLS™ Excel Library for PHP

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2010
MS Excel 2013
MS Excel 2016
MS Excel 2019