Layui中联动多选框导出Excel数据

Layui中联动多选框导出Excel数据:

导出数据是很多系统中都具备的功能,但看了一下其他人的写法,觉得可以更便捷一点


问题描述:

场景要求需要点击多选框进行选择数据,并进行导出到excel,但表格的数据并不能完全的导出到excel给用户,并且表头顺序不能乱。其中使用的插件链接如下,可以下载
https://fly.layui.com/extend/excel/#doc
引入步骤不做描述,其他教程已经很详细了
这时候点击导出,是将全部的数据都进行了导出,下面我们进行多选框控制导出数据,
在这里使用,直接获取表数据就可以,无需重新访问查询接口。

 var selectData;

                selectData = layui.table.checkStatus('test-table').data;
//利用checkStatus获取test-table中的数据
                console.log(selectData);

可以通过控制台看到表格里面的全局数据

接着我们为其添加表头

 selectData.unshift({
                    name: '姓名',
                    sex: '性别',
                    age:'年龄'
                    nationId: '民族',
                    school: '学校',
                });

现在已经可以进行打印了,在插件中直接使用excel.exportExcel就可以完成导出
excel.exportExcel({
sheet1: data
}, ‘文件名称.xlsx’, ‘xlsx’);

但此时导出的内容不仅仅是内容乱序的,而且有一些非必要给用户导出的内容需要做限制

  var data = excel.filterExportData(selectData, [
                    'name',
                    'sex',
                    'nationId',
                   //我们将学校字段进行了屏蔽,同时对导出的内容进行排序
                ]);

最后可以执行导出

excel.exportExcel({
                    sheet1: data
                }, '文件名称.xlsx', 'xlsx');
上一篇:vue项目导出功能


下一篇:JExcelWriter 基于模板填充的EXCEL导出,远离用代码调整样式的噩梦