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) {
}
});
}