如果 element-ui的table 使用了 fixed 属性固定列,导出表格时会出现导出两次的问题,在导出的表格中会有重复数据,是因为在 table 中有两个 table 标签,本文章提出解决办法

  • 在main.js中
// vue中导出excel表格模板
import FileSaver from 'file-saver'
import XLSX from 'xlsx'Vue.prototype.$FileSaver = FileSaver //设置全局
Vue.prototype.$XLSX = XLSX //设置全局
  • 在.vue文件中
<el-table-column prop="id"  label="单号" fixed="left"></el-table-column>
<el-table-column label="操作" width="120" fixed="right"></el-table-column>
// 表格导出方法
exportExcel() {let tables = document.getElementById('out-table').cloneNode(true) // 重点tables.removeChild(tables.querySelector(".el-table__fixed")) // 重点table.removeChild(table.querySelector(".el-table__fixed-right")) // 重点let table_book = this.$XLSX.utils.table_to_book(tables)var table_write = this.$XLSX.write(table_book, {bookType: 'xlsx',bookSST: true,type: 'array',})try {this.$FileSaver.saveAs(new Blob([table_write], { type: 'application/octet-stream' }),'导出表格名.xlsx')} catch (e) {if (typeof console !== 'undefined') console.log(e, table_write)}return table_write}

以下是对js中重点代码解析

// 拷贝一个table,否则直接删除会删除页面中的表格
let tables = document.getElementById('out-table').cloneNode(true)
// 因为element-ui的表格的fixed属性导致多出一个table,会下载重复内容,这里删除掉
tables.removeChild(tables.querySelector(".el-table__fixed")) // fixed和fixed="left"都是用这个
table.removeChild(table.querySelector(".el-table__fixed-right")) // fixed="right"用这个

修改前:

修改后:

解决vue表格导出时数据重复相关推荐

  1. vue重复路由_解决vue路由name同名,路由重复的问题

    在项目中,想让路由后缀为空,或者index的时候,都跳转到路由为index的页面,于是在router中如下配置 routes: [{ path: '/', name: 'index', compone ...

  2. 谷歌浏览器Chrome,TableExport.js 导出时数据量过大报网络错误的问题

    谷歌浏览器Chrome,TableExport.js 导出时数据量过大报网络错误的问题 之前项目里面遇到一个问题,谷歌浏览器下,数据量过大时报网络错误,下载失败,弄了很久都没找到解决的方法,偶然翻到一 ...

  3. 如何完美解决Sqoop导入导出MySQL数据错位问题

    我发现小伙伴们在使用Sqoop把数据从MySQL导入到Hive的过程中经常会遇到数据错位的问题,虽然最后都是通过添加参数的方法来解决这个问题,但是我认为这并不是一个完美的解决方案,所以花了一点时间研究 ...

  4. 解决vue 提交日期格式数据,时间出现时区差的问题

    解决vue 提交日期格式数据,时间出现时区差的问题 一.错误源: 在自定义create_time ,进行前端vue 向后端django 传入数据时,发现 {'create_time': [ErrorD ...

  5. vue计算多列和_解决vue 表格table列求和的问题

    最近在给朋友做一个项目,因为是B端,所以少不了表格. 本身就用了element-ui,但是订单管理有个需求使用element-ui table组件实现不了,只能退而求其之用了原生的table,功能是几 ...

  6. php输出json到表格,Vue如何导出json数据到Excel电子表格方法

    本文主要介绍了Vue导出json数据到Excel电子表格的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家. 一.安装依赖(前面基本一样) npm install file- ...

  7. vue中导出json数据为excel表格并保存到本地

    继我上次成功利用vue和elemen把excel的数据导入至前端vue,因为excel表中的数据有些必填项没有填写或者填写错误(比如写错字)所以就要将没有成功导入的数据导出成一份excel表并保存至本 ...

  8. vue表格导出到Excel

    步骤一:安装依赖 npm install --save xlsx file-saver 步骤二:在放置需要导出功能的组件中引入相关组件 import FileSaver from 'file-save ...

  9. mysql三表查询数据重复_解决mybatis三表连接查询数据重复的问题

    此问题的产生,主要是数据库的字段名一样导致 三张表 DOCTOR JOB OBJECT 有问题的查询语句和查询结果是: SELECT d.*,j.*,o.* from (select d.*,rown ...

最新文章

  1. 前端性能优化 —— 项目瘦身
  2. MPU6050开发 -- 初识
  3. 我的方法在这方面看起来很大吗?
  4. arm-linux-gcc静态编译和动态编译的区别
  5. 测试工程师需要具备的技能
  6. 【Qt开发】Qt标准对话框之QMessageBox
  7. linux DNS安装配置
  8. [DFS] [BFS] poj1979 poj3009 poj3669
  9. unity怪物攻击玩家减血_怪物猎人发布15周年 — 回顾历代封面怪之三大传奇怪物...
  10. 在 Windows 10 中查找 BitLocker 恢复密钥
  11. Cocos2d-x 发布 Android
  12. 微信开发者工具安装使用SVN
  13. sas不能安装独立的java_sas安装问题java platform standard edition runtime environment
  14. C语言 牛顿法 解方程,如何用科学计算器求方程的解(牛顿法解方程具体步骤)...
  15. 软考中级软件设计师学习资料分享
  16. Realtek RTL87xx 学习资源
  17. Linux/Unix桌面趣事:让桌面下雪
  18. Python —— 第一部分 序列
  19. 华为云/dev/vdb磁盘挂载
  20. sqlserver修改主键id自增

热门文章

  1. 微信小程序:利用 border-bottom 画出多彩条纹线
  2. MoviePy使用GPU加速-踩坑前传
  3. 爬梯:常用JDK堆栈工具
  4. cad之画多边形的一些注意事项
  5. 服务器路由链路追踪命令
  6. java籍贯怎么定义,籍贯是什么意思怎么写比如(全面解说籍贯定义及其写法)...
  7. 【永久开源】layuimini,最简洁、清爽、易用的layui后台框架模板。保证一用就会爱上它。
  8. #项目#layui后台管理模板总结
  9. 太极熊猫服务器怎么都在维护,太极熊猫6月25日维护到几点 维护内容
  10. 程序员需求开发流程及注意事项