如何使用 PHPExcel 选择保存文件 excel 的位置

How to choose location to save file excel with PHPExcel

我在使用 PHPExcel 创建 excel 文件时遇到问题。我想选择保存文件的位置 excel 但我不知道该怎么做。

 $model = new User();
 $labels = $model->attributeNames();
 $data = $model->findAll();
 $objPHPExcel = Yii::app()->excel;

........
$filename = 'text.xlsx';
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save($filename);

请帮帮我。非常感谢。

$objWriter->save($filename);

... 将 $filename 的值更改为您要保存文件的任何位置的文件路径,例如

$filename = '/path/to/folder/test.xlsx';
$objWriter->save($filename);

如果您将以下 headers 添加到您的 php 文件中。您的用户将有一个下载选项 pop-up:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=$filename");
header("Content-Transfer-Encoding: binary ");

将文件名更改为所需路径,即

$name = '/path/to/folder/xyz.xlsx';
$objWriter->save($name);

对我有用...

使用 PHPExcel 下载 EXCEL:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 

对于使用 Excel5 Writer 创建的 .xls 文件:

header('Content-Type: application/vnd.ms-excel'); //mime type

对于使用 Excel2007 Writer 创建的 .xlsx 文件:

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //mime type

header('Content-Disposition: attachment;filename="you-file-name.xlsx"'); //tell browser what's the file name
header('Cache-Control: max-age=0'); //no cache 
ob_end_clean();
$objWriter->save('php://output'`enter code here`);
exit();