【发布时间】:2018-11-01 09:08:15
【问题描述】:
我想提供一个 Excel 文件以供使用 PhpSpreadsheet 下载
这是我的代码:
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="hello_world.xlsx"');
$writer->save("php://output");
我收到以下错误消息:
PHP Warning: ZipArchive::close(): Failure to create temporary file: No such file or directory in /Users/sg/GitWorkingCopies/xxx1/xxx2/library/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php on line 374
PHP Fatal error: Uncaught exception 'PhpOffice\PhpSpreadsheet\Writer\Exception' with message 'Could not close zip file php://output.' in /Users/sg/GitWorkingCopies/xxx1/xxx2/library/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php:375
dokumentation of PHPSpreadsheet 说:
\PhpOffice\PhpSpreadsheet\Writer\Xlsx 在写入 php://output 时使用临时存储。默认情况下,临时文件存储在脚本的工作目录中。当无法访问时,它会回退到操作系统的临时文件位置。
upload_tmp_dir 是:/Applications/XAMPP/xamppfiles/temp/
我必须检查哪些文件夹权限? 或者是什么导致了问题?
【问题讨论】:
-
如果问题解决了,请accept您认为是您问题的最佳解决方案的答案,或者您可以提供和accept your own answer。
标签: php phpspreadsheet phpoffice