PHPSpreadsheet · Google Sheets API · Excel
Spreadsheets, driven by code.
Hands-on PHP tutorials for working with Excel and Google Sheets — read and
write .xlsx, convert files to JSON, stream downloads in the
browser, and insert images, formulas, and styling. Every guide ships with
code you can copy, run, and adapt.
Latest complete code
<?php require 'vendor/autoload.php'; use \PhpOffice\PhpSpreadsheet\IOFactory; $inputFile = 'workbook.xlsx'; $reader = IOFactory::createReaderForFile($inputFile); // The names alone. This does not load a single cell. $names = $reader->listWorksheetNames($inputFile); echo "Sheets in {$inputFile}:\n"; foreach ($names as $i => $name) { echo " [{$i}] {$name}\n"; } // One entry per sheet, with its dimensions - still without loading the cells. echo "\nSize of each sheet:\n"; foreach ($reader->listWorksheetInfo($inputFile) as $info) { printf( " %-10s %5d rows x %2d cols (last cell %s%d)\n", $info['worksheetName'], $info['totalRows'], $info['totalColumns'], $info['lastColumnLetter'], $info['totalRows'] ); } // Load ONLY the sheet you want. The reader skips everything else as it parses. $reader->setLoadSheetsOnly('Notes'); $spreadsheet = $reader->load($inputFile); printf( "\nLoaded only 'Notes': %d sheet in memory (%s), %.2f MB peak.\n", $spreadsheet->getSheetCount(), implode(', ', $spreadsheet->getSheetNames()), memory_get_peak_usage(true) / 1048576 );
The full script from List The Worksheets In An Excel File In PHP Using PHPSpreadSheet — copy, run, adapt.
Key methods
IOFactory::load()
PhpSpreadsheet
getActiveSheet()
PhpSpreadsheet
fromArray()
PhpSpreadsheet
getCalculatedValue()
PhpSpreadsheet
save('php://output')
PhpSpreadsheet
spreadsheets_values->get()
Google Sheets
spreadsheets_values->update()
Google Sheets
spreadsheets->create()
Google Sheets
json_encode()
PHP
header()
PHP
Latest articles
Create Xlsx Files With Cell Data Validation Settings
August 15, 2020
Create Xlsx Files Excluding Certain Cells From Protection
August 11, 2020
Create Xlsx Files With Selected Cell Security Settings
August 9, 2020
Create Xlsx Files With Worksheet Security Settings
August 9, 2020
Create Xlsx Files with Document Security Settings
August 9, 2020
Create Xlsx Files With Auto Filter Settings
August 8, 2020
Create Xlsx Files With Cell Comments
August 8, 2020
Create Xlsx Files With Cell Conditional Formatting Settings
August 7, 2020
Create Xlsx Files With Cell Border Styles
August 6, 2020
Browse by technique