vue3 + xlsx 实现 excel 导入web页面解析成json数据
2023-12-21 16:11 ET.frog 阅读(347) 评论(0) 编辑 收藏 举报vue3 + xlsx 实现 excel 导入web页面并解析成json数据
fileIipt 动态创建的标签,一定要用户点击事件触发,不然文件选择框的弹出会被拦截,无法弹出。意思就是下面这段关键代码要用一个事件区触发执行,不能主动执行(比如:vue的钩子)
import * as XLSX from 'xlsx' // v:"^0.18.5"
let fileIipt = document.createElement('input');
fileIipt.type = 'file';
fileIipt.onchange = (evt) => {
var reader = new FileReader();
reader.readAsBinaryString(evt.target.files[0]);
let workbook
let data
let sheetData = []
reader.onload = function(ev) {
try {
data = ev.target.result
console.log(data);
workbook = XLSX.read(data, {
type: 'binary'
})
console.log(workbook);
// 以二进制流方式读取得到整份excel表格对象
//persons = []; // 存储获取到的数据
} catch (e) {
console.log('err', e);
return;
}
// 表格的表格范围,可用于判断表头是否数量是否正确
// 遍历每张表读取
for (var sheet in workbook.Sheets) {
if (workbook.Sheets.hasOwnProperty(sheet)) {
sheetData = sheetData.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]))
//break; // 如果只取第一张表,就取消注释这行
}
}
}
}
fileIipt.click();
作者:KeerDi —— ET.frog
出处:http://www.cnblogs.com/frogblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架