当前位置: 首页 > news >正文

layui表格自定义导出数据(选中和全部数据)

layui表格自定义导出数据(选中和全部数据)

导出效果:
在这里插入图片描述

<table id="table_1" lay-filter="table_1"></table>//table表格初始化
table.render({elem: '#table_1',id: 'table1',url: '/xxx/list',where:{month:formattedTime,},page: true,method: 'get',cols: cols,skin: 'line',toolbar: '#role-toolbar',defaultToolbar: [{layEvent: 'refresh',icon: 'layui-icon-refresh',}, 'filter', 'print', 'exports'],parseData: function (res) {return {"code" : 0,"msg": "","count": res.count,"data":res.data,}},done:function(res,curr,count){if(res.code != 0){layer.msg("数据返回有误!")return false;}exportData = res.data;var selLength=res.count;//导出按钮初始化dropdown.render({elem: '#downMenu',align: "left",data: [{title: '导出选中',templet: '<div class="export-select">{{d.title}}</div>',id: 100}, {title: '导出所有',templet: '<div class="export-all">{{d.title}}</div>',id: 101}],ready: function () {//获取table实例var checkStatus = table.checkStatus('table1');$(".export-select").html("导出选中 (已选" + checkStatus.data.length + "条)");$(".export-all").html("导出所有 (共" + selLength + "条)");if (checkStatus.data.length == 0) {$(".export-select").addClass("export-selectNo");} else {$(".export-select").removeClass("export-selectNo");}},click: function (obj) {var param={};//导出全选参数//选中导出if (obj.id == 100) {var checkTab = table.checkStatus('table1');checkTebData = checkTab.data;table.exportFile('table1', checkTebData, 'xlsx', '我的xx' + getCurDate('-'));}// 全部到处(本页全部数据,接口全部导出)else {//本页导出checkTebData = exportData;table.exportFile('table1', checkTebData, 'xlsx', '我的xx' + getCurDate('-'));//接口全部导出param={xx:1yy:2}window.listExport(param)}}});},
});//导出
window.listExport=function (p){$.ajax({url: '/xxxx',data:p,type: 'get',success: function (res) {if (res.code == 200) {var pdfUrl = res.data ? res.data : nullif (pdfUrl) {//有返回pdf地址let type=pdfUrl.split('.').pop();let fileExtName = "";if(type=='xlsx'){fileExtName=".xlsx"}else {layer.msg("请导入的Excel文件!")}let randfile = new Date().getTime() + fileExtName;var oReq = new XMLHttpRequest();oReq.open("GET", pdfUrl, true,);oReq.responseType = "blob";oReq.onload = function () {var file = new Blob([oReq.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});saveAs(file, randfile);};oReq.send();}else{layer.msg("导出有误!")}}}})
}function saveAs(data, name) {var urlObject = window.URL || window.webkitURL || window;var export_blob = new Blob([data]);var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')save_link.href = urlObject.createObjectURL(export_blob);save_link.download = name;save_link.click();
}//获取当前日期
function getCurDate(split){var d = new Date(new Date());var year = d.getFullYear();var month = d.getMonth()+1;var day = d.getDate();var nowDate = year+split+getNow(month)+split+getNow(day);return nowDate;
}
function getNow(s) {return s < 10 ? '0' + s: s;
}
http://www.dtcms.com/a/329088.html

相关文章:

  • Debian新一代的APT软件源配置文件格式DEB822详解
  • k8s中的微服务
  • CSS动态视口单位:彻底解决移动端适配顽疾,告别布局跳动
  • Prompt Engineering+AI工具链:打造个人专属的智能开发助手
  • 第六十六篇:AI模型的“口才”教练:Prompt构造策略与自动化实践
  • 从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.13
  • SplitLanzou安卓版(蓝奏云第三方客户端) v1.8.2 免费版
  • 云计算-实战 OpenStack 私有云运维:服务部署、安全加固、性能优化、从服务部署到性能调优(含数据库、内核、组件优化)全流程
  • 飞凌OK3568开发板QT应用程序编译流程
  • Nginx 超详细详解和部署实例
  • 大致计算服务器磁盘使用情况脚本
  • 从零到一:TCP 回声服务器与客户端的完整实现与原理详解
  • pycharm配置连接服务器
  • 解析Vue3中集成WPS Web Office SDK的最佳实践
  • 物理服务器和虚拟机在性能上的不同
  • 【opencv-Python学习笔记(3):色彩空间类型及其转换】
  • 【Abp.VNext】Abp.Vnext框架模块学习
  • 工业元宇宙:迈向星辰大海的“玄奘之路”
  • TCP客户端Linux网络编程设计详解
  • docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理
  • IDEA创建一个VUE项目
  • SVN提交服务器拒绝访问的问题
  • 服务器硬件电路设计之 I2C 问答(五):I2C 总线数据传输方向如何确定、信号线上的串联电阻有什么作用?
  • 从零开始搭建私服务器
  • opencv:直方图
  • 【AI论文】GLM-4.5:具备智能体特性、推理能力与编码能力的(ARC)基础模型
  • Visual Studio Code 跨平台快捷键指南:Windows 与 macOS 全面对比
  • 第十三节:后期处理:效果增强
  • 开发避坑指南(24):RocketMQ磁盘空间告急异常处理,CODE 14 “service not available“解决方案
  • 2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?