Я пытаюсь сгенерировать простой файл Excel, используя PhpSpreadsheet и Codeigniter в моей среде localhost (XAMPP и Mac).
Сначала я помещаю PhpSpreadsheet в свой проект с помощью composer: composer требуется phpoffice / phpspreadsheet
После этого я редактирую файл config.php: $ config['composer_autoload'] = 'vendor / autoload.php';
И вот код, который я тестирую в моем главном контроллере:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Gestao extends CI_Controller {
public function excel()
{
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$filename = 'name-of-the-generated-file';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'. $filename .'.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output'); // download file
}
}
Когда я звонюконтроллер и Excel в браузере (Chrome), я получаю сообщение:
Этот сайт не может быть достигнуто.
ERR_INVALID_RESPONSE
Я помню, что когда я пытался использовать PHPExcel, у меня была та же проблема внутри Codeigniter.Я что-то упустил?