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

  

posted @ 2019-12-26 15:55  含苞待放会有时  阅读(1531)  评论(0编辑  收藏  举报