使用vue导出excel遇到的坑怎么解决
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇"使用vue导出excel遇到的坑怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看
千家信息网最后更新 2026年10月31日使用vue导出excel遇到的坑怎么解决
这篇"使用vue导出excel遇到的坑怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"使用vue导出excel遇到的坑怎么解决"文章吧。
vue导出excel遇到的坑
需求
Vue+element UI el-table下的导出当前所有数据到一个excel文件里。
先按照网上的方法,看看有哪些坑
准备工作
1、安装依赖:yarn add xlsx file-saver -S
2、在放置需要导出功能的组件中引入
import FileSaver from "file-saver";import XLSX from "xlsx";
3、HTML中的设置,简单来说就是给需要导出的table标签el-table上加一个id:如outTable,对应下面的exportExcel方法中的 document.querySelector(‘#outTable‘)
//导出当前表格exportCurrent:function(){ var wb = XLSX.utils.table_to_book(document.querySelector('#outTable')) //表格id var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' }) try { FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheet.xlsx') //文件名 } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) } return wbout},
我们来看一下原始数据
接下来再来看一下导出的结果
哎???我订单编号跟银行卡号咋成了科学计数法了??
还有我的时间,时分秒呢??
原因是因为数字太长了,需要使用excel的文本格式才能显示正常
经过各种搜索,最终解决方法如下:
exportExcel() { var xlsxParam = { raw: true };//转换成excel时,使用原始的格式 var wb = XLSX.utils.table_to_book(document.querySelector("#outTable"),xlsxParam); var wbout = XLSX.write(wb, { bookType: "xlsx", bookSST: true, type: "array" }); try { FileSaver.saveAs( new Blob([wbout], { type: "application/octet-stream;charset=utf-8" }), "sheetjs.xlsx" ); } catch (e) { if (typeof console !== "undefined") console.log(e, wbout); } return wbout; },
再来看我们的数据
大功告成。
vue导出excel表报错处理
Excel表导出功能需要将请求中的 responseType 设置为 blob,也就是说请求只能接收Excel文件,json数据没法处理
此时可以根据 Response 的 Content-Type值类判断处理,如果值 为 application/json,则先将返回的数据转换成字符串,然后再转换为 JSON
// 导出 downLoad(){ const fileReader = new FileReader() // 第一步创建文件对象 const loading = this.$loading({ lock: true, text: '导出加载中···', spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.7)' }); const data = { equipmentName: this.searchForm.equipmentName, equipmentCode: this.searchForm.equipmentCode, }; download('/api/mfg-mes/equipmentVersion/exportStandardWorkTime', data).then(res => { fileReader.onloadend = () => { // 定义方法 if (res.type === 'application/json') { // 第三步进行判断 const jsonData = JSON.parse(fileReader.result) // 说明是普通对象数据,后台转换失败 // 后台信息 // console.log(jsonData,'fileReader') this.$message.error(jsonData.msg) loading.close(); }else{ downloadFile(res, '信息表', 'xlsx') loading.close(); } } fileReader.readAsText(res) }).catch(err => { console.log(err); }) },以上就是关于"使用vue导出excel遇到的坑怎么解决"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数据
内容
文件
方法
处理
原始
信息
功能
后台
对象
就是
文章
格式
知识
篇文章
表格
普通
大功告成
接下来
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
上海睿民互联网科技有限公司
互联网科技产业
互联网科技官网
互联网科技卖菜
北京互联网科技公司
新浪科技互联网
广州紫鲸互联网科技
科技与互联网的利与弊
青岛中康互联网医疗科技有限公司
剑昆互联网络科技有限公司临桂
黑科技闪耀互联网之光
阿大互联网科技有限公司
广州市恰铎互联网科技有限公司
米聚互联网科技南京有限公司排面
国大互联网教育科技有限公司工作
河南住房之家互联网科技
深圳艾果互联网通讯科技
互联网科技企业商标注意事项
互联网科技创新方面的资料
深圳市人人互联网科技有限公司
上海睿民互联网科技有限公司
杭州互联网科技公司
互联网 视角下的科技创新
互联网科技汛
科技大学互联网专业好不好
互联网公司科技股
山东星卡互联网科技有限公司官网
中国互联网有什么科技
互联网界的黑科技