.
Код: Выделить всё
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Reader\Html;
$spreadsheet = new Spreadsheet();
$reader = new Html();
$HtmlString = '
Hello World 1Hello WorldHello WorldHello World
Hello
WorldHello
WorldHello
WorldHello
World
Hello
WorldHello
WorldHello
WorldHello
World
Hello WorldHello WorldHello WorldHello World
Hello
WorldHello
WorldHello
WorldHello
World
Hello
WorldHello
WorldHello
WorldHello
World
Hello World 2Hello WorldHello WorldHello World
Hello
WorldHello
WorldHello
WorldHello
World
Hello
WorldHello
WorldHello
WorldHello
World
Hello WorldHello WorldHello WorldHello World
Hello
WorldHello
WorldHello
WorldHello
World
Hello
WorldHello
WorldHello
WorldHello
World
';
$spreadsheet = $reader->loadFromString($firstHtmlString);
$sheet = $spreadsheet->getActiveSheet();
$sheet->getStyle('A1:D10')->applyFromArray([
'borders' => [
'allborders' => [
'borderStyle' => Border::BORDER_THICK,
],
],
'alignment' => [
'horizontal' => Alignment::HORIZONTAL_CENTER,
'vertical' => Alignment::VERTICAL_CENTER,
],
'font' => [
'name' => 'Arial',
'size' => 12,
'italic' => true,
],
]);
$writer = new Xlsx($spreadsheet);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="data.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
Подробнее здесь: https://stackoverflow.com/questions/788 ... preadsheet