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.
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 ");
Changez le nom du fichier en chemin souhaité, c'est-à-dire,
$name = '/path/to/folder/xyz.xlsx';
$objWriter->save($name);
Ça marche pour moi...
$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);
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();