我正在尝试在本地主机环境(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 中遇到了同样的问题。我是不是错过了什么?
我遇到了同样的问题,但我能够解决它。如果您使用的是 maennchen/zipstream-php 版本 3.1,您应该降级到版本 2.4,这将解决问题。