php excel


composer require phpoffice/phpspreadsheet

cat <<EOT> 1.php
<?php

require 'vendor/autoload.php';

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

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

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

 

        #
        $filename = 'doc_' . date('Y-m-d-H-i-s') . '.xlsx';

        header("Content-type: text/xlsx");
        header("Cache-Control: no-store, no-cache");
        header('Content-Disposition: attachment; filename="' . $filename . '"');
        # 
        $spreadsheet = new Spreadsheet();
        $activeWorksheet = $spreadsheet->getActiveSheet();
        $activeWorksheet->setTitle('Отчет');

        $spreadsheet->getActiveSheet()->getStyle('A1:S1')->getFont()->setBold(true)->setSize(12);

        for ($i = 'A'; $i != $spreadsheet->getActiveSheet()->getHighestColumn(); $i++) {
            $spreadsheet->getActiveSheet()->getColumnDimension($i)->setWidth('17');
        }
        $writer = new Xlsx($spreadsheet);
        $writer->save('php://output');