[英]PHPSpreadSheet : Site can't be reach
尝试使用 CodeIgniter 3 中的 PhpSpreadSheet 导出 xlsx 文件。当我运行 url 时,它显示无法访问此站点。 Web 可能暂时关闭,或者它可能已永久移动到新的 web 地址。
Controller
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
function generateLR(){
// create file name
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="result.xlsx');
header('Cache-Control: max-age=0');
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
}
但是如果我尝试在本地保存$writer->save('hello world.xlsx');
. output 成功保存在项目文件夹中。
也尝试使用 IOFactory 但结果是一样的: web is temporary down
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
function generateLR(){
// create file name
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="result.xlsx');
header('Cache-Control: max-age=0');
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = IOFactory::createWriter($spreadsheet,'Xlsx');
$writer->save('php://output');
}
找到了答案。 问题是sys_get_temp_dir()
的权限。 默认情况下,我的临时文件夹在 Macbook 中是不可访问的。 更改权限后。 Excel 可以在 localhost 中创建
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.