Lors de l'utilisation de la méthode de sauvegarde de PHPExcel,
// Enregistrez-le sous forme de fichier xls, mais celui-ci est uniquement enregistré sur le serveur et doit être téléchargé manuellement localement.
$writer->save('product list.xls');
Télécharger directement :
if ($this->fileVersion == 'Excel5') {
header('Content-Type: application/vnd.ms-excel'); // Sortie d'un fichier au format xls
header('Content-Disposition: attachment;filename="' . $config['fileName'] . '.xls"'); //Indiquez au navigateur le nom du fichier de sortie.
} autre {
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // Fichiers de sortie au format xlsx
header('Content-Disposition: attachment;filename="' . $config['fileName'] . '.xlsx"'); //Indiquez au navigateur le nom du fichier de sortie.
}
// Si vous servez sur IE 9, les éléments suivants peuvent être nécessaires
en-tête('Cache-Control: max-age=1');
// Si vous diffusez vers IE via SSL, les éléments suivants peuvent être nécessaires
header('Expire : lundi 26 juillet 1997 05:00:00 GMT'); // Date dans le passé
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control : cache, doit-revalider'); // HTTP/1.1
en-tête('Pragma : public'); // HTTP/1.0
$writer->save('php://output');
Le fichier xls exporté peut être téléchargé directement via php://output, et le fichier xls ne sera pas généré sur le serveur ;
Cependant, lors du téléchargement, une erreur est signalée directement. Cette erreur est dans le navigateur. des outils de développement sont apparus sur le réseau et n'ont pas déclenché l'opération de téléchargement de fichiers
< /p>
Je n'ai jamais découvert la cause de ce code tronqué. S'il se trouve directement avant l'en-tête, print_r($writer);
ne voit pas l'objet $writer tronqué
Je suis très confus à propos de cette question
Le problème a été résolu. Cette méthode permet de télécharger directement le fichier exporté, mais Ajax ne peut pas être utilisé
header('Content-Type: application/vnd.ms-excel');
改为header('Content-Type: application/vnd.ms-excel; charset=UTF-8');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
改为header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8');