使用 Codeigniter 和 PhpSpreadsheet 获取 ERR_INVALID_RESPONSE

问题描述 投票:0回答:1

我正在尝试在本地主机环境(XAMPP 和 Mac)上使用 PhpSpreadsheet 和 Codeigniter 生成一个简单的 excel 文件。

首先,我使用 Composer 将 PhpSpreadsheet 放入我的项目中: 作曲家需要 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 
}
}

当我在浏览器(Chrome)上调用控制器和 Excel 时,我收到消息:

无法访问此网站。

ERR_INVALID_RESPONSE

我记得当我尝试使用 PHPExcel 时,我在 Codeigniter 中遇到了同样的问题。我是不是错过了什么?

php codeigniter composer-php phpspreadsheet
1个回答
0
投票

我遇到了同样的问题,但我能够解决它。如果您使用的是 maennchen/zipstream-php 版本 3.1,您应该降级到版本 2.4,这将解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.