Maison > développement back-end > tutoriel php > Cliquez directement sur PHP pour utiliser la méthode de publication ajax pour télécharger un exemple simple de fichier Excel

Cliquez directement sur PHP pour utiliser la méthode de publication ajax pour télécharger un exemple simple de fichier Excel

coldplay.xixi
Libérer: 2023-04-09 13:00:01
avant
3478 Les gens l'ont consulté

Cliquez directement sur PHP pour utiliser la méthode de publication ajax pour télécharger un exemple simple de fichier Excel

L'exemple de cet article décrit comment PHP utilise la méthode de publication ajax pour télécharger des fichiers Excel. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Exigences du projet, le front-end initie une requête ajax, le back-end génère Excel et le télécharge, et en même temps, les informations de vérification du jeton doit être inclus dans l'en-tête. Après avoir fait référence à de nombreux articles, enfin La mise en œuvre est la suivante :

Recommandations d'apprentissage associées : programmation php (vidéo)

Le backend PHP utilise base64 :

$filename = 'demo.xlsx';
$objWriter = \PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel2007');
ob_start();
$objWriter->save("php://output");
$xlsData = ob_get_contents();
ob_end_clean();
return Api::success(['filename' => $filename, 'file' => "data:application/vnd.ms-excel;base64," . base64_encode($xlsData)]);
Copier après la connexion

Front-end JS :

$('.download').click(function(){
    var url = "http://xxxx.com/group/bi/export";
    var params = {
      from_date: '2017-09-01',
      to_date: '2017-09-08',
      group_id: 1
    };
    $.ajax({
      type:'POST',
      url: url,
      data: params,
      beforeSend: function(request) {
        request.setRequestHeader("Authorization", "token信息,验证身份");
      },
      success: function(redata) {
        // 创建a标签,设置属性,并触发点击下载
        var $a = $("<a>");
        $a.attr("href", redata.data.file);
        $a.attr("download", redata.data.filename);
        $("body").append($a);
        $a[0].click();
        $a.remove();
      }
    });
});
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal