如何将文件保存到服务器:PhpSpreadsheet

How to save file to server: PhpSpreadsheet

多年来我一直在使用它,并一直强制将 xlsx 下载到用户的个人计算机上。我现在需要修改它以保存到服务器,但我没有任何运气......

这是我的代码,我在最后添加了 2 行。

我注释掉了所有这些代码,但运气不好 “将输出重定向到客户端的 Web 浏览器 (Excel2007)”

我试过用很多不同的组合重写它,但没有成功

// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition: attachment;filename="rep_balance-'.date("F j, Y").'.xlsx"');

// If you're serving to IE 9, then the following may be needed

header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past

header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified

header('Cache-Control: cache, must-revalidate'); // HTTP/1.1

header('Pragma: public'); // HTTP/1.0

$writer = new Xlsx($objPHPExcel);

$writer->save('php://output');


$path = '/home/paththewebsite/reps/rep_balance-'.date("F j, Y").'.xlsx';

$writer->save($path);

只需删除设置 header 的行,因为如果您不向最终用户提供文件,则不需要这些行。并删除“$writer->save('php://output');”线.

这应该是您的代码

$writer = new Xlsx($objPHPExcel);

$path = '/home/paththewebsite/reps/rep_balance-'.date("F j, Y").'.xlsx';

$writer->save($path);