table2excel 导出真分页数据如何处理:
首先导入js:
<script type="text/javascript" src="${base}/js/jquery.table2excel.js"></script>
<div class=" ui edit buttons">
<button class="query ui red button" id="searchConn">查询</button>
<button class="query ui green button" id="exportExcel">导出</button>
</div>
<div class="column" id="column" style="margin-left: 10px;margin-right:10px;">
<table id="zytable" class="ui very compact selectable celled table mini" >
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>工号</th>
<th>原科室</th>
<th>外派地点</th>
<th>状态</th>
<th>支援起始日期</th>
<th>支援结束日期</th>
<th>天数</th>
</tr>
</thead>
<tbody id="tbody1">
</tbody>
<tfoot>
<tr><th colspan="10" id="pageBox"></th></tr>
</tfoot>
</table>
</div>
导出操作:
重新调用数据加载接口,利用callback回调函数确定查询出所有数据。
$(document).ready(function () {
$("#exportExcel").click(function(){
var page = 1 || curr;
var deptid = $("#deptValue").val();
var start_date = $("#startfs").val(); //支援日期
var end_date = $("#endfs").val();
loadDate(page, apply_deptid, start_date, end_date,false,function(){
var tabletitle="人力支援外派记录"; //标题
var cols=$("#zytable").find("thead tr:first th").length;
$("#zytable").table2excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: tabletitle,
exclude_img: true,
exclude_links: true,
exclude_inputs: true,
cols:cols
});
});
});
});
/*查询数据*/
function loadDate(page, deptid, start_date, end_date,pageNum,callback) {
var curr = 1 || page;
parent.layer.msg('<i class="spinner loading icon"></i>数据加载中...', {
time: 0
});
$.post(basePath + "/huresourcesExpatriate/huresourcesView.do", {
deptid: $("#deptValue").val(),
start_date: $("#startfs").val(),
end_date: $("#endfs").val(),
}, function (res) {
parent.layer.closeAll();
var datas = res.supportPList;
var nums = 10; //每页出现的数量
if(pageNum == false){
nums = datas.length;
}
var pages = Math.ceil(datas.length / nums); //得到总页数
var thisDate = function (curr) {
var context = '', last = curr * nums - 1;
last = last >= datas.length ? (datas.length - 1) : last;
if (datas.length == 0) {
var count = $("#table thead tr ").children("th").length;
context += "<tr><td colspan='" + count + "' style='font-size:1.0em'>很抱歉,暂无数据</td></tr>";
parent.layer.closeAll();
} else {
var press_status = "";
$("#tbody").children().remove();
var dept_id = "${user.depart_id}";
var bjobid = "${user.job_id}";
var user_id = "${user.user_id}";
for (var i = (curr * nums - nums); i <= last; i++) {
var sq_date = timestampToTime(datas[i].sp_startdate);
var sp_enddate = timestampToTime(datas[i].sp_enddate);
if(press_status != "" && press_status != undefined){
if(press_status == "1"){
press_status = "常态";
}else{
press_status = "紧急";
}
}else{
press_status = "";
}
context += "<tr data-shid=" + datas[i].sh_id + " id='tr" + datas[i].id + "'><td>" + (i + 1) + "</td>"
+ "<td>" + datas[i].name + "</td>"
+ "<td>" + datas[i].user_id + "</td>"
+ "<td>" + datas[i].structure_name + "</td>"
+ "<td>" + datas[i].apply_address + "</td>"
+ "<td>" + press_status + "</td>"
+ "<td>" + sq_date + "</td>"
+ "<td>" + sp_enddate + "</td>"
+ "<td>" + parseInt(datas[i].days+1) + "</td>"
+ "</tr>";
}
}
return context;
};
//显示分页
laypage({
cont: $('#pageBox'), //容器。值支持id名、原生dom对象,jquery对象,
pages: pages, //总页数
skin: '#D95C5C',
skip: true,
groups: 5, //连续显示分页数
curr: curr || 1,
jump: function (obj) {
$('tbody').html(thisDate(obj.curr));
$($("#pageBox").find('.laypage_btn')[0]).css('background-color', '#D95C5C');
$("#pageBox").append("<div class='laypage_limit_info'>总共 " + pages + " 页,每页 <input type='number' min='1' value='" + nums + "' class='laypage_limit'> 条数据,共 " + datas.length + " 条数据</div>");
$($("#pageBox").find('.laypage_main')[0]).css('float', 'right');
}
});
if(callback && typeof(callback)==="function"){//回调函数
callback();
}
});
}