>  기사  >  백엔드 개발  >  PHP를 직접 클릭하여 Ajax 게시 방법을 사용하여 Excel 파일 간단한 예를 다운로드합니다.

PHP를 직접 클릭하여 Ajax 게시 방법을 사용하여 Excel 파일 간단한 예를 다운로드합니다.

coldplay.xixi
coldplay.xixi앞으로
2020-08-06 16:20:203415검색

PHP를 직접 클릭하여 Ajax 게시 방법을 사용하여 Excel 파일 간단한 예를 다운로드합니다.

이 기사의 예에서는 PHP가 Ajax 게시 방법을 사용하여 Excel 파일을 다운로드하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

프로젝트 요구 사항, 프런트 엔드는 Ajax 요청을 시작하고 백 엔드는 Excel을 생성하고 다운로드하는 동시에 토큰 확인 정보가 포함되어야 합니다. 헤더를 여러 글을 참조한 후 최종 구현은 다음과 같습니다.

관련 학습 권장사항: php 프로그래밍(동영상)

base64를 사용하는 PHP 백엔드:

$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)]);

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();
      }
    });
});

위 내용은 PHP를 직접 클릭하여 Ajax 게시 방법을 사용하여 Excel 파일 간단한 예를 다운로드합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제