1:先安裝第三方插件
npm install xlsx
2:在文件中引入
import XLSX from 'xlsx'
將讀取表格文件的js封裝成一個(gè)函數(shù),并用Promise返回讀取表格結(jié)果
function uploadExcel (file) {
????return new Promise(function (resolve,reject) {
????????let reader = new FileReader()
????????reader.readAsBinaryString(file)
????????reader.onload = function(e) {
????????????????//workbook存放excel的所有基本信息
????????????????let workbook = XLSX.read(e.target.result, {type: 'binary'})
????????????????//定義sheetList中存放excel表格的sheet表,就是最下方的tab
????????????????let sheetList = workbook.SheetNames
????????????????//存放字符串?dāng)?shù)組格式的表格數(shù)據(jù)
????????????????let formulaeResult = []
????????????????//存放json數(shù)組格式的表格數(shù)據(jù)
????????????????let jsonResult = []
????????????????//讀取第一個(gè)sheet
????????????????jsonResult = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]])
????????????????formulaeResult = XLSX.utils.sheet_to_formulae(workbook.Sheets[workbook.SheetNames[0]])
????????????????let header = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]],{header:1})
?//讀取所有的sheet
????????????????// sheetList.forEach(function(y) {
????????????????????// let json = XLSX.utils.sheet_to_json(workbook.Sheets[y])
????????????????????// let formulae = XLSX.utils.sheet_to_formulae(workbook.Sheets[y])
????????????????????// if(json.length >0){
????????????????????????// jsonResult.push(...json)
????????????????????????// formulaeResult.push(...formulae)
????????????????//??}
???????????????? // });
????????????????let result = {header:header[0],
???????????????????????????? list:jsonResult}
????????????????resolve(result)
????????}
????})
}