layui数据表格自带的导出功能只能导出当前页的数据
解决办法:
1.直接在分页的条数中选择个10000条,这样就直接导出最多10000条数据,但是页面会很卡,如果列超过20列那导出500行都会卡死
2.上代码:
HTML
<button class="layui-btn layui-btn-hei" lay-submit lay-filter="export"> <i class="iconfont icon-export"></i> 导出</button>
JS
form.on('submit(export)', function (data) {
var postData = {
其他条件: data.field.其他,
page:1,
limit: 20000
} //默认最多导出20000条,自己定,也可不设置分页数量,这样就需要后台添加一个新的查询方法或者写个动态sql
$.post(url, postData, function(res) {
if(res.code==0){
table.exportFile('currentTableId', res.data, 'xls'); //表名 数据 格式
}else{
layer.msg(res.msg, {icon: 5});
}
})
});
注意:table.exportFile('currentTableId', res.data, 'xls'); //表名 数据 格式
table.exportFile方法是layui自带的,直接调用导出即可,后台处理几w条数据还是很快的,直接调用导出就不需要页面渲染,这样导出数据就很快