插件下載:https://gitee.com/zypy333/layui-excel
1.添加js
添加js
<script type="text/javascript"
src="${pageContext.request.contextPath}/XXX/XXX/layui_exts/excel.js"></script>
2.書寫按鈕
<a href="javascript:;" class="add" id="exportexcel" title="導出excel表單"> <i class="layui-icon layui-icon-add-circle x-icon-add"></i>導出excel表單</a>
3.導出excel方法
$("#exportexcel").click(function(){
loading = layer.load(1, {shade: [0.3, '#fff']});
var $ = layui.jquery;
var excel = layui.excel;
$.ajax({
url: '${pageContext.request.contextPath}/XXX/XXX.action',
dataType: 'json',
success: function(res) {
layer.close(loading);
layer.msg(res.msg);
// 假如返回的 res.data 是需要導出的列表數據
console.log(res.data);//
var data = res.data;
// 重點!!!如果后端給的數據順序和映射關系不對,請執行梳理函數后導出
//限定能出現的字段
data = excel.filterExportData(data, [
'tmnum'
,'tmname'
,'tmenterprise'
,'tmstate'
]);
// 重點2!!!一般都需要加一個表頭,表頭的鍵名順序需要與最終導出的數據一致
// 1. 數組頭部新增表頭
data.unshift({tmnum: '條碼號',tmname: '產品名稱',tmenterprise:'生產廠商',tmstate:'狀態'});
// 3. 執行導出函數,系統會彈出彈框
// 重點!!!如果后端給的數據順序和映射關系不對,請執行梳理函數后導出
var timestart = Date.now();
excel.exportExcel({
sheet1: data
}, '條碼表.xlsx', 'xlsx');
var timeend = Date.now();
var spent = (timeend - timestart) / 1000;
layer.alert('單純導出耗時 '+spent+' s');
},
error:function(res){
layer.close(loading);
layer.msg(res.msg);
}
});
})
