layui excel插件
插件下载: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);
}
});
})

浙公网安备 33010602011771号