Export data to Excel XLSX file in PHP (2024)

User GuideTutorialsPHP tutorialsTutorial 04: How to export data to XLSX file in PHP
Previous sample
Create Excel file in PHP
Next sample
Format Excel cells in PHP

EasyXLS Excel library can be used to export Excel files with PHP on Windows, Linux, Mac or other operating systems. The integration vary depending on the operating system or if .NET Framework or Java is chosen:

1. EasyXLS on Windows using .NET Framework (COM+) with PHP


2. EasyXLS on Linux, Mac, Windows using Java with PHP

EasyXLS on Windows using .NET Framework (COM+) with PHP

If you opt for the COM+ version of EasyXLS, be sure that you have EasyXLS installed and registered on your machine.

Find more about Getting Started with EasyXLS

Step 1: Download and install EasyXLS Excel Library for COM+

To download the trial version of EasyXLS Excel Library, press the below button:

If you already own a license key, you may login and download EasyXLS from your account.

Step 2: Verify if COM and .NET extension is enabled in PHP

Check PHP.ini for [COM_DOT_NET] extension.

See also

How to enable COM and .NET extension in PHP?


Step 3: Verify if EasyXLS is registered

Check if EasyXLS component is present in Component Services.

See also

How to verify if EasyXLS is registered?


Step 4: License file setup

Step required for EasyXLS v9.0 or later.

If you are using a trial, generate a trial license file from EasyXLS trials page. The trial license is valid for 30-days.

If you own a license key, you may login to the account that purchased the license and generate the license file from:
https://www.easyxls.com/my-orders

Setup the license file into your project using these guidelines.

Step 5: Run PHP code that exports data to Excel XLSX file

Execute the following PHP code that exports to XLSX file.

View Excel file

Copy code

<?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.*===============================================================*/include("DataType.inc");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 headerfor ($column=0; $column<5; $column++){ $xlsFirstTable->easy_getCell(0,$column)->setValue("Column " . ($column + 1)); $xlsFirstTable->easy_getCell(0,$column)->setDataType($DATATYPE_STRING);}// Add data in cells for report valuesfor ($row=0; $row<100; $row++){ for ($column=0; $column<5; $column++) { $xlsFirstTable->easy_getCell($row+1,$column)->setValue("Data ".($row + 1).", ".($column + 1)); $xlsFirstTable->easy_getCell($row+1,$column)->setDataType($DATATYPE_STRING); }}// Set column widths$xlsFirstTable->easy_getColumnAt(0)->setWidth(100);$xlsFirstTable->easy_getColumnAt(1)->setWidth(100);$xlsFirstTable->easy_getColumnAt(2)->setWidth(100);$xlsFirstTable->easy_getColumnAt(3)->setWidth(100);// Export the XLSX fileecho "Writing file: C:\Samples\Tutorial04 - export data to Excel.xlsx<br>";$workbook->easy_WriteXLSXFile("C:\Samples\Tutorial04 - export data to Excel.xlsx");// Confirm export of Excel fileif ($workbook->easy_getError() == "") echo "File successfully created.";else echo "Error encountered: " . $workbook->easy_getError();// Dispose memory$workbook->Dispose();$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.

EasyXLS on Linux, Mac, Windows using Java with PHP

If you opt for the Java version of EasyXLS, a similar code as above requires PHP/Java Bridge between PHP and Java.

Find more about Getting Started with EasyXLS

Step 1: Download EasyXLS Excel Library for Java

To download the trial version of EasyXLS Excel Library, press the below button:

If you already own a license key, you may login and download EasyXLS from your account.

Step 2: License file setup

Step required for EasyXLS v9.0 or later.

If you are using a trial, generate a trial license file from EasyXLS trials page. The trial license is valid for 30-days.

If you own a license key, you may login to the account that purchased the license and generate the license file from:
https://www.easyxls.com/my-orders

Setup the license file into your project using these guidelines.

Step 3: Install PHP/Java Bridge

Download PHP/Java Bridge and follow the PHP/Java Bridge installation guide for directions.

Step 4: Setup EasyXLS library in Tomcat

Copy EasyXLS.jar into Tomcat installation path, lib folder.

Step 5: Run PHP code that exports data to Excel XLSX file

Execute the following PHP code that exports to XLSX file.

View Excel file

Copy code

<?php require_once("http://localhost:8080/JavaBridge/java/Java.inc");/*============================================================| 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.=========================================================== */include("DataType.inc");header("Content-Type: text/html");echo "Tutorial 04<br>";echo "----------<br>";// Create an instance of the class that exports Excel files$workbook = new java("EasyXLS.ExcelDocument"); // Create two sheets$workbook->easy_addWorksheet("First tab");$workbook->easy_addWorksheet("Second tab");// Get the table of data for the first worksheet$xlsFirstTable = $workbook->easy_getSheetAt(0)->easy_getExcelTable();// Add data in cells for report headerfor ($column=0; $column<5; $column++){ $xlsFirstTable->easy_getCell(0,$column)->setValue("Column " . ($column + 1)); $xlsFirstTable->easy_getCell(0,$column)->setDataType($DATATYPE_STRING);}// Add data in cells for report valuesfor ($row=0; $row<100; $row++){ for ($column=0; $column<5; $column++) { $xlsFirstTable->easy_getCell($row+1,$column)->setValue("Data ".($row + 1).", ".($column + 1)); $xlsFirstTable->easy_getCell($row+1,$column)->setDataType($DATATYPE_STRING); }}// Set column widths$xlsFirstTable->easy_getColumnAt(0)->setWidth(100);$xlsFirstTable->easy_getColumnAt(1)->setWidth(100);$xlsFirstTable->easy_getColumnAt(2)->setWidth(100);$xlsFirstTable->easy_getColumnAt(3)->setWidth(100);// Export the XLSX fileecho "Writing file: C:\Samples\Tutorial04 - export data to Excel.xlsx<br>";$workbook->easy_WriteXLSXFile("C:\Samples\Tutorial04 - export data to Excel.xlsx");// Confirm export of Excel fileif ($workbook->easy_getError() == "") echo "File successfully created.";else echo "Error encountered: " . $workbook->easy_getError();// Dispose memory$workbook->Dispose();?>

Related sections

How to export data to XLSX file?


How to add values to cells?

See also

How to export List to Excel?


How to create sheets?


How to add formulas?


How to Excel format cells?

Related methods

ExcelDocument.easy_WriteXLSXFile
ExcelDocument.easy_WriteXLSXFile_FromList
ExcelWorksheet.easy_insertList
ExcelTable.easy_getCell
ExcelTable.easy_getCellAt
ExcelTable.easy_setCellAt
ExcelRow.easy_addCell
ExcelRow.easy_getCell
ExcelRow.easy_getCellAt
ExcelRow.easy_insertCellAt
ExcelRow.easy_setCellAt
ExcelCell.setValue
ExcelCell.setDataType

Related constants

Constants.DataType

Previous sample
Create Excel file in PHP
Next sample
Format Excel cells in PHP
Export data to Excel XLSX file in PHP (2024)
Top Articles
Latest Posts
Article information

Author: Carlyn Walter

Last Updated:

Views: 6092

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Carlyn Walter

Birthday: 1996-01-03

Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

Phone: +8501809515404

Job: Manufacturing Technician

Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.