【WEB前端开辟】layui导出表格悉数数据

layui(谐音:类UI) 是一款采纳本身模块范例编写的前端 UI 框架,遵照原生 HTML/CSS/JS 的誊写与组织形式,门坎极低,拿来即用。

layui自带的导出表格,只能导出当前页面,假如当前页包括悉数数据,那不就是导出悉数数据了吗,所以我给导出事宜零丁定义了一个要求,当触发这个要求时,在背景查询数据时不要按吸收的page 和 limit查询,而是查询悉数,如许就完成了导出悉数数据。

页面代码:

<!--导出按钮 或其他触发事宜-->
<button class="export">导出报表</button>

<!--导出表 不展现-->
<div style="display: none;">
    <table id="data_export">
    </table>
</div>
layui.use(['form', 'table', 'layer'], function () {
        var table = layui.table,
            form = layui.form,
            layer = layui.layer;
        //导出表格
        var ins1 = table.render({
            elem: '#data_export',
            url: "url", //数据接口
            method: 'post',
            title: '导出表的表名',
            where: {
                mycode: "all"
            },
            limit: 10,
            cols: [[
                {field: 'id', title: 'ID'},
                {field: 'name', title: '称号'},
            ]],
            done: function (res, curr, count) {
                exportData = res.data;
            }
        });
        //导出按钮
        $(".export").click(function () {
            table.exportFile(ins1.config.id, exportData, 'xls');
        });
    })

背景处置惩罚:

if ($mycode) {    $data = M('mysql')->where($where)->select();  
    echo json_encode(['code' => 0, 'msg' => "", 'data' => $data]);                     
}

优化:对应的代码是上面第二段js代码:

//导出改成零丁的事宜,每次点击导出才会实行
    $(".export").click(function(){
        var ins1=table.render({
            elem: '#data_export',
            url: "url", //数据接口
            method: 'post',
            title: '表名',
            where: {
                mycode: "all"
            },
            limit: 10,
            cols: [[
                {field: 'id', title: 'ID'},
                {field: 'name', title: '名字'},
            ]],
            done: function (res, curr, count) {
                exportData=res.data;
                table.exportFile(ins1.config.id,exportData, 'xls');
            }
        });
    })

实在就是把 table.exportFile(ins1.config.id,exportData, 'xls'); 放到了done中,虽然看起来改的不多,然则实质已变了,之前的体式格局是进入页面就加载隐蔽的导出表。

而现在是点击导出的时刻才会衬着隐蔽导出表,在导出表内容多的时刻,导出速率慢点用户会以为是合理的,比页面加载速率慢要好多了。

更多layui相干学问请关注layui框架。

以上就是layui导出表格悉数数据的细致内容,更多请关注ki4网别的相干文章!

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注