SpringMVC利用POI匯出EXCEL傳引數總結
阿新 • • 發佈:2019-01-03
前一篇介紹了利用POI匯出EXCEL的程式,基本都屬於後端的程式,這個找網上的例子一大堆,
今天跟大家聊聊,匯出的時候前臺的訪問方式有幾種。
一般來說利用POI匯出時, 前臺如果是$ajax的方式的話會報錯,程式返回後,前臺程式會自動走到error的判斷,返回報錯,或者返回一大堆看不懂的東西,比如:
以上方式會報錯。$.ajax({ cache: false, async: true, url:'../handle/baseinfo.ashx?ajaxaction=GetClassProductByFid', // 後臺取 data: p.data, dataType: 'json', type: 'post', success: function (result) { }, error: function (result, b) { } });
第一種方式:
function itemclick(item)
{
var url="fee/downimpboxfee?bl_no="+str;
window.location.href = url;
//document.location.href=url;
}
前臺傳引數加到url當中,直接winows.localtion.href=url, 或者 document.locatio.hrf=url, 後臺用spring mvc 的Controller接收就行,Controller制定GET方式獲取資料。
這種方式的弊端就是引數很多的時候不是很方便。
第二種方式:
<form id="exportfeeform" action="fee/downmotorfee" method="post"> 車隊名稱:<input id="motor_name" name="motor_name" type="text" /> 時間段從:<input type="text" id="timefrom" name="timefrom"/> <input type="text" id="timeto" name="timeto"/> <input id="btnOK" type="button" value="button" onclick="f_search()" /> </form>
或者:制定匯出的按鈕事件,在按鈕事件中提交整個form表單,以form表單的引數提交。
制定匯出的按鈕事件,在按鈕事件中提交整個form表單
function itemclick(item)
{
$('#exportfeeform').attr('action','fee/downmotorfee');
$('#exportfeeform').submit();
}
});
這種方式以form表單的方式將引數提交到後臺,後臺Contreller用一個物件獲取所有引數,以POST方式提交多個引數。後臺接收之後,再去查詢一遍資料庫,組合相應的表格資料匯出。目前只研究出這兩種方式,如果有其他更好的方式歡迎網友評論留言,共同研究。