html代码
<div class="layui-inline">
<div class="layui-btn layui-btn-primary outputbtn" lay-filter="outputbtn">导出数据</div>
</div>
需要引入的js(Excel.js)
excel.js
JS代码
layui.use(['laydate', 'laypage', 'layer', 'table', 'carousel', 'upload', 'element', 'slider'], function () {
var laydate = layui.laydate
, laypage = layui.laypage
, layer = layui.layer
, table = layui.table
, carousel = layui.carousel
, upload = layui.upload
, element = layui.element
, slider = layui.slider
, $ = layui.$
, excel = layui.excel;
$(".outputbtn").bind("click", function () {
var loadlayer = layer.load(1);
if (OutTimeJson == "") {
layer.msg("无数据");
return false;
}
var outdata = [];
for (var stdata in OutTimeJson.data) {
outdata.push({
OrderId: OutTimeJson.data[stdata].OrderId
, StoreName: OutTimeJson.data[stdata].StoreName
, OrderType: OutTimeJson.data[stdata].OrderType
, StartTime: OutTimeJson.data[stdata].StartTime
, SendTime: OutTimeJson.data[stdata].SendTime
, EndTime: OutTimeJson.data[stdata].EndTime
, Remark: OutTimeJson.data[stdata].Remark
, Statusdesc: OutTimeJson.data[stdata].Statusdesc
, Transportname: OutTimeJson.data[stdata].Transportname
, Transportphone: OutTimeJson.data[stdata].Transportphone
, AcceptTime: OutTimeJson.data[stdata].AcceptTime
, FetchTime: OutTimeJson.data[stdata].FetchTime
, Reason: OutTimeJson.data[stdata].Reason
, DeliverType: OutTimeJson.data[stdata].DeliverType
});
}
outdata.unshift({
OrderId: '订单号'
, StoreName: '门店名'
, OrderType: '订单平台'
, StartTime: '订单开始时间'
, SendTime: '发货时间'
, EndTime: '订单结束时间'
, Remark: '订单备注'
, Statusdesc: '配送状态'
, Transportname: '骑手姓名'
, Transportphone: '骑手电话'
, AcceptTime: '接单时间'
, FetchTime: '取货时间'
, Reason: '异常类型'
, DeliverType: '配送平台'
});
if (outdata.length > 120000) {
layer.open({
title: '导出提示'
, content: '数据量太大,超过10万条,不再支持导出。如确实需要导出,请联系电商部。'
});
layer.close(loadlayer);
return false;
}
var data = excel.filterExportData(outdata, [
'OrderId'
, 'StoreName'
, 'OrderType'
, 'StartTime'
, 'SendTime'
, 'EndTime'
, 'Remark'
, 'Statusdesc'
, 'Transportname'
, 'Transportphone'
, 'AcceptTime'
, 'FetchTime'
, 'Reason'
, 'DeliverType'
]);
var time = myDate.getFullYear() + "-" + (myDate.getMonth() + 1) + "-" + (myDate.getDate())
LAY_EXCEL.exportExcel(outdata,"异常订单信息" +'(' + time + ').xlsx', 'xlsx');
layer.close(loadlayer);
return false;
})
})