Ajax方式導出Excel,瀏覽器顯示下載Excel表

 

之前實現導出Excel,都是用form表單提交,由於jquery封裝的ajax請求導出Excel,瀏覽器不顯示文件。html

可是此次的需求要帶着header,form表單不能帶header,百度了下,原生ajax是支持導出Excel的二進制數據格式的。jquery

 

 

 

一、JS方法裏所有代碼ajax

 

//原生ajax
var xhr = new XMLHttpRequest();
//post方式請求後臺的路徑
xhr.open('post', '/api/export', true);
//導出的Excel是二進制數據類型,因此設置爲blob
xhr.responseType = 'blob';
//請求頭(key,value),請求頭能夠設置多個key-value對
xhr.setRequestHeader('Content-Type', 'application/json;charset=utf-8');
//返回成功,導出的Excel文件
xhr.onload = function () {
	if (this.status == 200) {
		var blob = this.response;
		var a = document.createElement('a');
		var url = window.URL.createObjectURL(blob);
		a.href = url;
		//設置文件名稱
		a.download = 'Excel文件名字.xlsx';
		a.click();
	}
}
var feeDate = $('#feeDate').val();
//請求的參數,json格式,後臺要用json格式接收
xhr.send(JSON.stringify({
   "feeDate" : feeDate
}));

  

 

 form表單導出Excel,請參照json

 http://www.javashuo.com/article/p-vacputmh-dp.htmlapi

相關文章
相關標籤/搜索