js-xlsx
由 SheetJS 出品的 js-xlsx 是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。本文全部都是以xlsx格式为例。
官方github : https://github.com/SheetJS/js-xlsx 学习地址:https://www.jianshu.com/p/74d405940305
安装npm 包 xlsx
npm install xlsx
用法:
import * as XLSX from 'xlsx'
<input type="file" @change="handleFileUpload">
handleFileUpload(event) {
const { files } = event.target;
const vali = /\.(xls|xlsx)$/;
if (files.length <= 0) {
// 如果没有文件名
return false;
} if (!vali.test(files[0].name.toLowerCase())) {
this.$Message.error('上传格式不正确,请上传xls或者xlsx格式');
return false;
}
const file = event.target.files[0];
const reader = new FileReader();
console.log(file, 'file');
reader.onload = (e) => {
const data = e.target.result;//读取成功后result中的数据
console.log(data, 'data');
const workbook = XLSX.read(data, { type: 'binary' });//以base64方法读取 结果
const sheetName = workbook.SheetNames[0]; //获取数据的表名
const sheet = workbook.Sheets[sheetName]; //workSheet 是该excel表格中的数据
const jsonData = XLSX.utils.sheet_to_json(sheet); //数据解析,输出JSON格式
console.log(jsonData);
// do something with jsonData
};
reader.readAsBinaryString(file);
},
参考:
vue读取本地xlsx文件
如何使用JavaScript实现纯前端读取和导出excel文件