前言:最近專案需要excel匯出功能,由於匯出的引數過多,第一想法就是採用ajax的方式。但是用ajax匯出excel遇到了許多的問題。比如ajax是無法直接匯出excel的,因為ajax的返回值只能是字元流,而匯出excel是後台往瀏覽器中寫入二進位制的位元組流。所以嘗試了很多種方式去解決關於匯出的問題,以下是幾種解決方法。需注意的地方:
var form = $("");
form.attr('style', 'display:none');
form.attr('target', '');
form.attr('method', 'post');
var input1 = $('');
input1.attr('type', 'hidden');
input1.attr('name', 'item');//引數名
input1.attr('value', json.stringify(json)); //向後台傳參,引數值 /* json.stringify($.serializeobject($('#comstatisticsform'))) */
form.submit();
form.remove();
需注意的地方:
前端:
$.ajax(catch(e)
},error:function (text)
});後台: public void download(httpservletrequest request,httpservletresponse response) throws exception
out.close();
in.close();
} catch (filenotfoundexception e1) catch (ioexception e)
}
function()
以上就是一些解決方式~~~~~ 原生ajax匯出excel資料
web端請求 post方式請求後台的路徑 xhr.open post api consultform export exporttimeall true 匯出的excel是二進位制資料型別,所以設定為blob xhr.responsetype blob 請求頭 key,value 請求頭可以設定多個...
Ajax請求匯出Excel的問題
文章 自 ajax請求匯出excel的問題描述 解決 開始一直以為是瀏覽器相容性,或後台輸出檔案流 有問題,調了半天,也都一樣,不報任何錯。後來上網搜發現在類似的問題,ajax匯出excel沒反應,網上有人說不能使用ajax,換成位址重定向location.href就行,一換還真好使。就是ajax請...
Ajax下匯出Excel的解決辦法
ajax下excel不能按原來的方式匯出,因為在非同步方式下response.write 是會出錯的,所有在頁面載入的時候可以將匯出按鈕註冊為同步方式,同時在updatepanel裡不能註冊匯出按鈕,即可解決該問題。對於vs自帶的 ajax此辦法即可解決,網上找了n久,很多都是第三方ajax 非vs...