layui excel下载(纯前端 )
需要 继承 一个js才能用:excel.js
在 layui-excel-master\layui_exts 文件夹下面(百度链接:
链接:https://pan.baidu.com/s/1VxjLtuphLTiAxUlNwYKnKA
提取码:gxqz
)
html=========================================html
<div class="layui-inline layui-show-xs-block" style=" float: right;">
<a class="layui-btn layui-btn-lg" name="" data-type="exports"><i
class="layui-icon"></i>导出门店</a>
</div>
<div class="layui-inline layui-show-xs-block" style=" float: right;">
<input class="layui-input starttime" name="endDate" id="endDate" autocomplete="off" placeholder="yyyy-MM-dd">
</div>
<div class="layui-inline layui-show-xs-block" style=" float: right;">
<input class="layui-input starttime" name="starDate" id="starDate" autocomplete="off" placeholder="yyyy-MM-dd">
</div>
js==========================================js
exports : function() { //导出
var starDate = $("input[name=\'starDate\']").val();//日期开始
var endDate = $("input[name=\'endDate\']").val();//日期结束
var url= getRootPath() + \'/aaa/bbb.do?SerialNo=\' + Math.round(Math.random() * 100000000);
$.ajax({
url : url,
data : {
//delStore : JSON.stringify(data)
starDate: starDate,
endDate: endDate
},
type : "Post",
dataType : "json",
success : function(res) {
if(res.data!=null && res.data!="" && res.data!="undefined"){
var data = res.data
// 重点!!!如果后端给的数据顺序和映射关系不对,请执行梳理函数后导出
data = excel.filterExportData(data, {
storeNo: \'storeNo\'
, franchiserSalesName: \'franchiserSalesName\'
, storeAddress: \'storeAddress\'
, storePrincipal: \'storePrincipal\'
, isDel: \'isDel\'
})
// 重点2!!!一般都需要加一个表头,表头的键名顺序需要与最终导出的数据一致
data.unshift({
storeNo: "门店编号",
franchiserSalesName: "门店名称",
storeAddress: \'门店地址\',
storePrincipal: \'门店负责人和电话\',
isDel: \'是否删除\',
})
// 2. B列宽 150,F列宽200,默认80
var colConf = excel.makeColConfig({
\'A\': 90,
\'B\': 200,
\'C\': 240,
\'D\': 130,
}, 60)
var timestart = Date.now()
excel.exportExcel({
sheet1: data
}, \'门店数据\'+timestart+\'.xlsx\', \'xlsx\',{
extend: {
sheet1: {
\'!cols\': colConf
}
}
})
}else{
layer.msg(\'当前日期范围内没有门店数据!\',{time: 3000, icon:5});
}
},
error : function(data) {
}
});
}