1. 程式人生 > >SpringMVC利用POI匯出EXCEL傳引數總結

SpringMVC利用POI匯出EXCEL傳引數總結

前一篇介紹了利用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方式提交多個引數。後臺接收之後,再去查詢一遍資料庫,組合相應的表格資料匯出。

目前只研究出這兩種方式,如果有其他更好的方式歡迎網友評論留言,共同研究。