1. Go to this page and download the library: Download odan/excel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
odan / excel example snippets
use Odan\Excel\ExcelWorkbook;
use Odan\Excel\ZipDeflateStream;
$workbook = new ExcelWorkbook();
$sheet = $workbook->addSheet('My Sheet');
// Write header columns
$columns = ['Date', 'Name', 'Amount'];
$sheet->addColumns($columns);
// Write data
$rows = [
['2023-01-31', 'James', 220],
['2023-03-28', 'Mike', 153.5],
['2024-07-02', 'Sally', 34.12],
];
foreach ($rows as $row) {
$sheet->addRow($row);
}
// Save as Excel file in memory
$file = new ZipDeflateStream();
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream();
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream('php://temp');
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
// Set the limit to 5 MB.
$maxMb = 5 * 1024 * 1024;
$file = new ZipDeflateStream('php://temp/maxmemory:' . $maxMb);
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream('example.xlsx');
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream();
$workbook->save($file);
$data = stream_get_contents($file->getStream());
file_put_contents('filename.xlsx', $data);
use Odan\Excel\ZipDeflateStream;
// ...
$filename = 'example.xlsx';
// Create an empty file using touch
touch($filename);
// Set write permissions to the file
chmod($filename, 0644);
$file = new ZipDeflateStream($filename);
$workbook->save($file);
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream();
$workbook->save($file);
// Read contents of stream into a string
$data = stream_get_contents($file->getStream());
// Set the content type to Excel
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename="example.xlsx"');
// ...
$stream = $file->getStream();
// Send the stream contents directly to the HTTP response
fpassthru($stream);
// Close the stream
fclose($stream);
use Nyholm\Psr7\Response;
use Nyholm\Psr7\Stream;
use Odan\Excel\ZipDeflateStream;
// ...
$file = new ZipDeflateStream();
$workbook->save($file);
// Generate safe filename
$outputFilename = rawurlencode(basename('example.xlsx'));
$contentDisposition = sprintf("attachment; filename*=UTF-8''%s", $outputFilename);
// Add the response headers
$response = $response
->withHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
->withHeader('Content-Disposition', $contentDisposition)
->withHeader('Pragma', 'private')
->withHeader('Cache-Control', 'private, must-revalidate')
->withHeader('Content-Transfer-Encoding', 'binary');
// Set the response body to the file stream
$response = $response->withBody(new Stream($file->getStream()));
use Odan\Excel\ExcelWorkbook;
use Odan\Excel\Zip64Stream;
$workbook = new ExcelWorkbook();
$sheet = $workbook->addSheet('My Sheet');
// Write data
$rows = [
['2023-01-31', 'James', 220],
['2023-03-28', 'Mike', 153.5],
['2024-07-02', 'Sally', 34.12],
];
foreach ($rows as $row) {
$sheet->addRow($row);
}
// Save as Excel file
$file = new Zip64Stream('filename.xlsx');
$workbook->save($file);
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.