XLSX GitHub地址:https://github.com/SheetJS/sheetjs/blob/github/dist/xlsx.full.min.js
需要先引入:XLSX.full.min.js
// 下载文件的请求
fetch(downloadFileUrl).then(response => {
return rsp.blob()
}).then(data => {
let reader = new FileReader()
// reader.readAsDataURL(blob)
reader.readAsArrayBuffer(blob)
reader.onload = (e) => {
console.log('e:都数据流返回的对象:', e)
let filedata = e.target.result // 文件数据
// excel都数据流解析数据
let workbook = XLSX.read(btoa(fixdata(filedata)), {
type: 'base64'})
console.log('读文件后:', workbook)
// 需要解析第几个Sheet页?
let sheet = workbook.Sheets[workbook.SheetNames[0]]
// sheet解析为json array
let jsonArray = XLSX.utils.sheet_to_json(sheet)
console.log('excel解析后的数据:', jsonArray)
// do domething 解析后的数据jsonArray如何处理
}
})
// 文件流转 base64
function fixdata(data) {
var o = '',
l = 0,
w = 10240;
for (; l < data.byteLength / w; ++l)
o += String.fromCharCode.apply(
null,
new Uint8Array(data.slice(l * w, l * w + w))
);
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
return o;
}
参考链接:
使用XLSX来解析Excel的内容 - 掘金