web-dev-qa-db-fra.com

Comment choisir l'emplacement pour enregistrer le fichier Excel avec PHPExcel

J'ai un problème lors de l'utilisation de PHPExcel pour créer un fichier Excel. Je veux choisir l'emplacement pour enregistrer le fichier Excel mais je ne sais pas comment le faire.

 $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);

Aidez-moi, s'il vous plaît. Merci beaucoup.

6
Tam Vo

Si vous incluez les en-têtes ci-dessous dans votre fichier php. Vos utilisateurs auront une fenêtre contextuelle d'option de téléchargement:

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 ");
2
Serhat Akay

Changez le nom du fichier en chemin souhaité, c'est-à-dire,

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

Ça marche pour moi...

10
Vatsal Patel
$objWriter->save($filename);

.... modifiez la valeur de $filename pour être le chemin d'accès au fichier où vous souhaitez enregistrer le fichier, par exemple.

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

POUR TÉLÉCHARGER Excel AVEC PHPExcel:

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

Pour les fichiers .xls créés avec Excel5 Writer:

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

OR

Pour les fichiers .xlsx créés avec Excel2007 Writer:

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();
0
pala dattadri