recherche

Maison  >  Questions et réponses  >  le corps du texte

PHPExcel exporte les caractères xls tronqués

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_leeringa_lee2753 Il y a quelques jours782

répondre à tous(2)je répondrai

  • 習慣沉默

    習慣沉默2017-05-16 13:05:35

    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é

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 13:05:35

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

    répondre
    0
  • Annulerrépondre