jqGrid与layui结合 查询将表格数据导出Excel

例如jqGrid与layui结合 查询将表格数据导出Excel_第1张图片

需要将当前分页数据或全部数据导出为Excel

1、导出当前页数据:使用jqGrid的  var data =   $("#table_list").jqGrid('getRowData'); 可获取当前页所有数据

2、导出所有分页总数据:首先获取当前所用到的查询条件 

      var queryData = $("#table_list").jqGrid('getGridParam','postData');然后使用条件去掉查询接口查询出所有数据(由于楼主要通过导入Excel的内容做查询条件,有点复杂);

接着layui出场了,不过要首先载入excel.js ,通过https://gitee.com/wangerzi/layui-excel去下载

jqGrid与layui结合 查询将表格数据导出Excel_第2张图片

function exportExcel() {
    var queryData = $("#table_list").jqGrid('getGridParam','postData');
//将分页的信息修改掉,要不然不能查询出所有数据
    queryData.current=1;
    queryData.rowCount=20000;
    $.ajax({
        url: '${base}/merak/signorder/listPage'
        ,dataType: 'json'
        ,type: 'POST'
        ,data:queryData
        ,success(res) {
            if(!res.success){
                FTK.alert("获取数据失败",0);
                return;
            }
            var allData = res.data.data;
            if(allData.length==0){
                FTK.alert("暂无数据",1);
                return;
            }
//引入需要的excel.js
            layui.config({
                base: '${base}/statics/js/'
            }).use('excel', function () {
//设置excel表头
                allData.unshift({orderNo:'单号',signFlowId:'流程号',manufacturer:'厂商',templateNo:'模板编号',templateName:'模板名称',
                    contractNo:'厂商合同编号',signer:'签署者',signTime:'签署时间'});
//导出
                layui.excel.exportExcel({sheet1:allData},'订单信息.xlsx','xlsx');
            });
        }
        ,error() {
            FTK.alert("获取数据失败",0);
        }
    });

 

 
 

你可能感兴趣的:(jqGrid与layui结合 查询将表格数据导出Excel)