纯js 导出excel
需引入Export2Excel.js 和Blob.js:
<script src="static/js/exportExcel/Export2Excel.js"> </script>
<script src="static/js/exportExcel/Blob.js"></script>
下载地址:Export2Excel.js 和Blob.js 下载
$.ajax({
type : "post",
url : "ss/dataReport/getExportDataJs",
data : {
"timeRange": $("#timeRange").val()
},
cache : false,
success : function(data, status) {
var tHeader = ["账号", "客户","业务区","统计维度","下单量"];
var filterVal = ["client", "clientName","area","dimension","orderCount"];
//每次导出excel包含50000条数据
//data.bills 是ajax 查询的记录数 list<bill>
if((data.bills).length<=50000){
var data = formatJsonMsg(filterVal, data.bills);
export_json_to_excel(tHeader, data, "客户订单统计数据");
}else{
//向上取整数 循环
var ce= Math.ceil((data.bills).length/50000);
for(var t=0;t<ce;t++){
var param = [];
for(var da=0;da<50000;da++){
//最后一次循环可能不到50000条
if(null!=(data.bills)[0]&&"undefined"!=(data.bills)[0]){
param.push((data.bills)[0]);
(data.bills).splice(0,1);
}
}
var data1 = formatJsonMsg(filterVal, param);
export_json_to_excel(tHeader, data1, "客户订单统计数据");
}
}
},error : function() {
},complete : function() {
}
});
function formatJsonMsg(filterVal, jsonData){
return jsonData.map(v => filterVal.map(j => v[j]))
}