vue 从本地excel导入数据,vue导入excel数据
这篇文章主要介绍了使用某视频剪辑软件导出超过遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
vue导出超过遇到的坑需求准备工作某视频剪辑软件导出超过表报错处理
vue导出excel遇到的坑
需求
某视频剪辑软件元素UI El-表下的导出当前所有数据到一个超过文件里。
先按照网上的方法,看看有哪些坑
准备工作
1、安装依赖:纱线添加文件格式文件保护程序
2、在放置需要导出功能的组件中引入
从"文件保护程序"导入文件保存器
从" XLSX "导入XLSX
3、HTML中的设置,简单来说就是给需要导出的桌子标签埃尔表上加一个id:如outTable,对应下面的导出超过方法中的文档。查询选择器(# outTable)
emspemsp//导出当前表格
exportCurrent:function(){
var WB=xlsx。utils。table _ to _ book(文档。查询选择器( # outTable )//表格编号
var wbout=XLSX.write(wb,{ bookType: xlsx ,bookst:true,type: array })
尝试{
文件保护程序。另存为(新Blob([WB out],{ type: application/octet-stream }), sheet.xlsx) //文件名
} catch (e) { if(控制台类型!==undefined) console.log(e,wbout) }
返回wbout
},
我们来看一下原始数据
接下来再来看一下导出的结果
哎?我订单编号跟银行卡号咋成了科学计数法了?
还有我的时间,时分秒呢?
原因是因为数字太长了,需要使用超过的文本格式才能显示正常
经过各种搜索,最终解决方法如下:
exportExcel() {
var xlsx param={ raw:true };//转换成超过时,使用原始的格式
var WB=xlsx。utils。table _ to _ book(文档。查询选择器( # outTable ),xlsx param);
var wbout=XLSX.write(wb,{
书籍类型: xlsx ,
书商:没错,
类型:"数组"
});
尝试{
FileSaver.saveAs(
新Blob([wbout],{ type: application/octet-stream;charset=utf-8 }),
sheetjs.xlsx
);
} catch (e) {
如果(控制台类型!==未定义)console.log(e,WB out);
}
返回wbout
},
再来看我们的数据
大功告成。
vue导出excel表报错处理
超过表导出功能需要将请求中的响应类型设置为斑点,也就是说请求只能接收超过文件,json数据没法处理
此时可以根据反应的内容类型值类判断处理,如果值为应用程序/json,则先将返回的数据转换成字符串,然后再转换为数据
//导出
下载(){
const fileReader=new fileReader()//第一步创建文件对象
恒定载荷=这个.$正在加载({
锁:真的,
文本: 导出加载中,
微调器:“el图标加载",
背景: rgba(0,0,0,0.7)
});
常量数据={
设备名称:this.searchForm.equipmentName,
设备代码:this.searchForm.equipmentCode,
};
下载(/API/mfg-mes/设备版本/exportStandardWorkTime ,数据)。然后(res={
fileReader.onloadend=()={ //定义方法
if(RES . type=== application/JSON ){//第三步进行判断
const JSON数据=JSON。解析(文件读取器。结果)//说明是普通对象数据,后台转换失败
//后台信息
//console.log(jsonData, fileReader )
这个message.error(jsonData.msg)
正在加载。close();
}否则{
下载文件(res,’信息表, xlsx )
正在加载。close();
}
}
fileReader.readAsText(res)
}).接住(错误={
控制台。日志(错误);
})
},
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。