layui数据表格中导出所有数据的简易解决办法

  • 官方文档的困惑
  • 解决办法

官方文档的困惑

首先要说明的是:layui在 table 的工具栏内置了数据导出按钮,如果你是用它内置的导出按钮来导出数据,是没有问题的。但内置的按钮毕竟不太美观,很多时候你可能想通过自己定义的按钮来导出数据,这个时候,我们去参考官方文档,会发现,官方的介绍是非常模糊不清的,请看官方的介绍:
语法:table.exportFile(id, data, type)
代码示例:

var ins1 = table.render({elem: '#demo',id: 'test'//,…… //其它参数
})      //将上述表格示例导出为 csv 文件
table.exportFile(ins1.config.id, data); //data 为该实例中的任意数量的数据

绝大多数盆友被这个data变量弄懵逼了,如果直接用它,浏览器会无情的提示:“Uncaught ReferenceError: data is not defined”。
其实,官方例子中的这个data变量,应该是表格数据的集合,但是,官方没说清楚这个data数据要从哪里来,以致于很多小伙伴被弄得一头雾水。

解决办法

先看前端界面

例如,我要通过单击上图中的“导出”按钮来导出表格中的所有数据,那么我们在html文件中的代码可以像下面这样写:

<!--工具栏--><okToolbar><button class="layui-btn" id="addUser"><i class="iconfont icon-tianjiayonghu1" ></i> 添加</button><button class="layui-btn layui-btn-danger" id="batchDel"><i class="iconfont icon-shanchu"></i> 删除</button><button class="layui-btn layui-btn-warm" id="batchDisabled"><i class="iconfont icon-tingyong"></i> 锁定</button><button class="layui-btn layui-btn-normal" id="batchEnabled"><i class="iconfont icon-qiyong"></i> 解锁</button><button class="layui-btn" id="export"><i class="iconfont icon-export"></i> 导出</button><span>共有数据:<i id="countNum"></i> 条</span></okToolbar><!--数据表格--><table class="layui-hide" id="table1" lay-filter="tableFilter"></table>

注意:上面代码中“导出”按钮的id为“export”,表格的id为table1。

js代码:

<script>layui.use(['element', 'table', 'form', 'jquery', 'laydate','layer'], function () {var table = layui.table;         //表格var form = layui.form;           //表单var layer = layui.layer;         //弹层var $ = layui.jquery;var ins1=table.render({elem: '#table1',url: '/ant-admin/data/user.json',limit: 10,page:true,cols: [[{type: 'checkbox'},{field: 'id', title: 'ID',width:80, sort: true,align: 'center'},{field: 'username', title: '用户名', sort: true,align: 'center'},{field: 'status', title: '状态', templet: '#statusTpl',align: 'center'},{field: 'role', title: '角色类型', templet: '#roleTpl',sort: true,align: 'center'},{field: 'phone', title: '手机',align: 'center'},{field: 'createTime', title: '创建时间',align: 'center'},{field: 'lastLoginTime', title: '最近登录时间',align: 'center'},{field: 'logins', title: '登陆次数',sort: true,align: 'center',width:100},{fixed: 'right', title: '操作', align:'center', minWidth:160,toolbar: '#barDemo'}]],done: function (res, curr, count) {exportData=res.data;}});$("#export").click(function(){table.exportFile(ins1.config.id,exportData, 'xls');})})
</script>

要点:
1、在表格渲染完成后的回调函数中,定义一个全局变量exportData,让它取得表格中的数据集合。就是下面这行

exportData=res.data;

2、在导出数据时将变量exportData作为data变量传给table.exportFile(id, data, type) 函数。这样就大功告成了,怎么样,是不是很简单!

3、需要说明的是:table.exportFile函数的第三个参数type默认是导出csv格式文件,要导出xls文件的话,把它设置成‘xls’就可以了。

layui数据表格中导出所有数据的简易解决办法相关推荐

  1. Word文档表格中插入图片无法完整显示解决办法

    如上图所示,Word文档表格中插入图片却只显示很窄一条边 解决办法:选中图片,菜单栏上点击段落右方小箭头扩展项 选择单倍行距,即可完整显示图片

  2. 数据备份中可能出错的情况及解决办法

    作者:gaoyuan 来源:赛迪网技术社区 发布时间:2007.03.06 本文总结了数据库备份过程中所有可能出错的情况,大家可以参考以下. 如果你做DBA时间不长,对数据库的备份有些担心,希望能找到 ...

  3. 获取layui表格单元格的数据_Layui数据表格之获取表格中所有的数据方法

    数据表格中的数据是通过直接赋值的方式.这里实际上思想是反过来的,将拿数据表格中的所有数据,转换为Layui数据表格拿原始数据去渲染数据表格. 1.创建一个作用域合适的JS对象数组用来保存数据表格中的原 ...

  4. laytpl遍历实体列表_Layui数据表格之获取表格中所有的数据方法

    数据表格中的数据是通过直接赋值的方式.这里实际上思想是反过来的,将拿数据表格中的所有数据,转换为layui数据表格拿原始数据去渲染数据表格. 1.创建一个作用域合适的js对象数组用来保存数据表格中的原 ...

  5. layui数据表格中展示图片及图片预览

    在项目中遇到数据表格中放入图片同时可以点击放大预览.预览方式我才用的是layer方式.代码如下: layui.use('table', function(){var table = layui.tab ...

  6. layui一个表格中怎么接两个接口的值_layer学习笔记之table表格引入数据实现分页...

    LayUI是一款免费,开源,轻量级的前端cms框架,适用于企业后端,能快速上手开发,集成了常用的组件,还有完善的文档和社区. 最近一直在学习使用layer的layui框架技术,这个主要表现在于弹出层的 ...

  7. layui单元格鼠标样式_Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法...

    如下所示: var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/par ...

  8. oracle 数据 导出 excel 自动分多个文件,从oracle数据库中导出大量数据到excel中为什么自动分成了好几个excel文件《excel表格新手入门》...

    EXCEL中一个单元格中多行文本如何导入或复制到SQL SERVER 数据库表中? 保留换行符保存进数据表啊,读取出来显示的时候根据需要进行转换就行了,比如要在网页上显示,可以把换行符转换成HTML的 ...

  9. layui修改table中的按钮_layui数据表格中如何设置按钮切换(是否置顶)与分页居中...

    手记1 一.数据表格中按钮切换(置顶与取消) 在layUI数据表格中是可以使用toolbar设置表格内的按钮 使用laytel语法 置顶 {{#  if(d.order>0){ }} 取消 {{ ...

最新文章

  1. 使用Leangoo管理Sprint Backlog
  2. SQL Server 2005 的版本和组件[转载]
  3. python文件中内容转换为字典
  4. 转:优秀程序员的45个习惯
  5. 什么是 SAP Spartacus UI 的 direction 服务
  6. 单模光纤和多模光纤的区别_多模光纤和单模光纤的区别与应用
  7. java dos编译命令是什么_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是()...
  8. mysql内表和外表_Hive内表和外表的区别
  9. 当自己犹豫时,坐下来读一读
  10. Opencv笔记(十三)——图像的梯度
  11. thinkphp 随机取10条数据_spark调优-数据倾斜
  12. 读取Excel文件的版本
  13. Java 8 并发: Threads 和 Executors
  14. 艰难时局下电子发现蓬勃发展
  15. 7.4 SiamFC
  16. JS动态生成select下拉框的option并默认选中
  17. html文件下载时的header设置
  18. Mac 上“预览”中的键盘快捷键
  19. Chat Top10 | 实战:参考牛顿冷却定律优化最热问题的排序
  20. 攻防演练怎样防止个人信息泄露

热门文章

  1. 罗马数字转十进制 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候, 现在看起来简直不能忍受,所以在现代很少使用了。
  2. matlab工具箱中英对照,MATLABa工具包中英对照
  3. 贝叶斯分类(这个讲的比较清晰,一看就明白)
  4. 每周一天,跟群哥一起考软件设计师01
  5. AXI总线学习(AXI34)
  6. 组态王客户端显示服务器画面,组态王客户端显示服务器画面
  7. 关于AI+医疗的调研
  8. jQuery无缝向上滚动效果
  9. 外呼系统《OpenSIPS2.4代理FreeSwitch》(2022版)
  10. 华为OD机试 - 箱子之字形摆放