layui中导出数据表格可以自己定义字段,且命名表的表名;导出结果如图所示:
使用扩展插件:https://fly.layui.com/extend/excel/
html/js代码编辑使用:
<table class="layui-table layuiadmin-page-table" lay-skin="line" id="order" lay-filter="order"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" style="float: right; margin-left: 0px; margin-right: 0px; margin-bottom: 0px; margin-top: 10px;" lay-event="exports">数据导出</button>
</div>
</script>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/layui/layui_exts/excel.js"></script>
<script>
var excel=LAY_EXCEL;
layui.use(['form','layer', 'table', 'laytpl','laydate'], function() {
layer = layui.layer,
$ = layui.jquery,
form = layui.form,
table = layui.table,
laytpl = layui.laytpl,
laydate = layui.laydate;
var order_form ;
//表格导出
table.on('toolbar(order)', function(obj){
switch(obj.event){
case 'exports':
$.get('/api/finance/getPaymentListExports',order_form, function (data) {
if (data.code == 0){
if(order_form.is_group==1){
var resdata=data.data;
resdata = excel.filterExportData(resdata[0], [
'purchase_sn'
,'supplier_name'
,'created_time'
,'warehouse_name'
,'total_fee'
,'paid_price'
,'pending_price'
,'unpaid_price'
,'status_name'
,'pay_status_name'
,'buyer_name'
]);
resdata.unshift({
purchase_sn: "采购单号",
supplier_name: "供应商",
created_time: '采购时间',
warehouse_name: "采购仓库",
total_fee: "应付金额",
paid_price: '已付款',
pending_price:'待确认',
unpaid_price: "待付款",
status_name: "采购状态",
pay_status_name: '付款状态',
buyer_name: "采购员"
});
excel.exportExcel(resdata, '采购应付款(按采购单).csv', 'csv');
}else{
var resdata2=data.data;
resdata2 = excel.filterExportData(resdata2[0],[
'supplier_name'
,'created_time'
,'warehouse_name'
,'total_fee'
,'paid_price'
,'pending_price'
,'unpaid_price'
,'pay_status_name'
]);
resdata2.unshift({
supplier_name: "供应商",
created_time: '采购时间',
warehouse_name: "采购仓库",
total_fee: "应付金额",
paid_price: '已付款',
pending_price:'待确认',
unpaid_price: "待付款",
pay_status_name: '付款状态'
});
excel.exportExcel(resdata2, '采购应付款(按供应商).csv', 'csv');
}
}else {
layer.msg(data.msg);
return;
}
}, 'json');
break;
};
});
})
</script>