【layui-全部导出】layui添加全部导出按钮

文章讲述了如何在layui表格中添加一个自定义的全部导出按钮,通过Ajax获取后端接口的全部数据,并使用layui的table.exportFile方法以XLS格式导出。这个过程涉及到对分页接口的处理,通过设置参数来获取所有数据。
摘要由CSDN通过智能技术生成

layui的表格导出功能是只有导出单页的操作,但是没有全部导出的功能,所以需要手动添加一个按钮

1、在表单的左边自定义头部工具栏添加一个全部导出的按钮

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
         <button class="layui-btn layui-btn-sm" lay-event="getAllData">导出全部数据</button>
    </div>
</script>

2、给工具栏事件添加绑定事件
获取后端接口返回的全部数据,使用layui的table自带的exportFile进行导出

table.exportFile(dataTable.config.id, res.data, ‘xls’);

table = layui.table,
dataTable = table.render({})
res.data : 表格数据
xls:导出的表格类型


table.on('toolbar()', function (obj) {
            var event = obj.event;
            // 官方是用的switch,因为只有一个直接判断了
            if(event === 'getData') {
                $.ajax({
                    type: 'GET',
                    url: 'XXXXXX?page=1&limit=999999', //因为后端接口分页了,在不添加接口的情况下使用
                    headers: {
                        token: MyLocalStorage.Cache.get('token')
                    },
                    contentType: "application/json",
                    success: function (res) {
                        console.log(res.data)
                        table.exportFile(dataTable.config.id, res.data, 'xls');
                    }

                });

            }
        })
layui table 中,可以通过使用 table.exportFile() 方法来实现导出表格数据。如果需要自定义导出内容,可以通过以下步骤实现: 1. 定义一个导出按钮,可以使用 layui 中的 button 组件。 ```html <button class="layui-btn layui-btn-sm" id="exportBtn">导出</button> ``` 2. 给按钮绑定点击事件,在点击事件中获取需要导出数据,并进行处理。 ```javascript // 获取需要导出数据 var data = table.cache.tableId; // 处理导出数据 var exportData = []; layui.each(data, function(index, item){ // 自定义处理逻辑 exportData.push({ id: item.id, name: item.name, age: item.age }); }); // 导出数据 table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); ``` 在这里,我们可以通过对原始数据进行处理,生成需要导出数据。这里的处理逻辑可以根据具体需求进行自定义。 3. 将处理后的数据导出为 Excel 文件,可以使用 table.exportFile() 方法。 ```javascript table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); ``` 在这里,我们可以指定导出的字段名和文件类型。上述代码中,我们导出了一个名为“tableId”的表格数据,并且导出的文件类型为“xls”。 完整代码示例: ```html <button class="layui-btn layui-btn-sm" id="exportBtn">导出</button> <script> layui.use('table', function(){ var table = layui.table; // 绑定导出按钮点击事件 $('#exportBtn').on('click', function(){ // 获取需要导出数据 var data = table.cache.tableId; // 处理导出数据 var exportData = []; layui.each(data, function(index, item){ // 自定义处理逻辑 exportData.push({ id: item.id, name: item.name, age: item.age }); }); // 导出数据 table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); }); }); </script> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值