js前端解析excel文件

433 阅读1分钟

解析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