PHP使用ajax的post方式下載excel文件簡單示例
本文實例講述了PHP使用ajax的post方式下載excel文件。分享給大家供大家參考,具體如下:
項目需求,前端發(fā)起ajax請求,后端生成excel并下載,同時需要在header頭中,帶上token驗證信息,參考了很多文章,最終實現(xiàn)如下:
PHP后端使用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)]);
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) {
// 創(chuàng)建a標(biāo)簽,設(shè)置屬性,并觸發(fā)點(diǎn)擊下載
var $a = $("<a>");
$a.attr("href", redata.data.file);
$a.attr("download", redata.data.filename);
$("body").append($a);
$a[0].click();
$a.remove();
}
});
});
更多關(guān)于PHP相關(guān)內(nèi)容可查看本站專題:《PHP+ajax技巧與應(yīng)用小結(jié)》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP實現(xiàn)給定一列字符,生成指定長度的所有可能組合示例
這篇文章主要介紹了PHP實現(xiàn)給定一列字符,生成指定長度的所有可能組合,涉及PHP數(shù)組遍歷、數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法實例
這篇文章主要介紹了php中debug_backtrace、debug_print_backtrace和匿名函數(shù)用法,以實例形式分析了debug_backtrace和debug_print_backtrace函數(shù)在調(diào)試過程中的作用,并分析了PHP5.3新增匿名函數(shù)的用法,需要的朋友可以參考下2014-12-12
php提示W(wǎng)arning:mysql_fetch_array() expects的解決方法
這篇文章主要介紹了php提示W(wǎng)arning:mysql_fetch_array() expects的解決方法,是一個比較典型的php程序錯誤排查案例,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12

