PHPExcel exporte les caractères xls tronqués
ringa_lee
ringa_lee 2017-05-16 13:03:35
0
2
796

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

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
習慣沉默

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é

Ty80

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal