解析excel文件,需要使用到浏览器的api
FileReader
来读取文件,和一个解析excel文件的插件 js-xlsx
1.安装与导入 js-xlsx 插件
//安装插件
npm install xlsx
//在项目中导入插件
import XLSX from 'xlsx'
2.使用插件
//1.获取文件对象
let file = data.file;
//2.创建FileReader对象,用于读取文件
let reader = new FileReader();
//3.将文件读取为二进制码
reader.readAsBinaryString(file);
//4.监听文件读取完成事件
reader.onload = (e) => {
//5.读取完成,获取读取的二进制数据
const data = e.currentTarget.result;
//6.通过XlSX插件,把二进制数据解析为xlsx对象
let xlsxs = XLSX.read(data, { type: 'binary' });
//7.利用XLSX插件,把第一个sheet转换成JSON对象
//xlsxs.SheetNames[0]是获取Sheets中第一个Sheet的名字
//xlsxs.Sheets[Sheet名]获取第一个Sheet的数据
const j_data = XLSX.utils.sheet_to_json(xlsxs.Sheets[xlsxs.SheetNames[0]]);
console.log(j_data);
};
一些说明:
XLSX.read(data,类型)
该方法接收一个二进制的数据,和数据的类型,返回解析完成后的对象XLSX.utils.sheet_to_json(表名)
该方法需要一个表名来指明解析哪一个表的数据,然后把表中的数据转成数组或者json