js读取上传的excel的内容
- 安装
npm i js-xlsx xlsx xlsx-style --save
封装在util中
import XLSX from "js-xlsx";
export const readfileByExcel = async (file) => {
return new Promise((resolve, reject) => {
var fileReader = new FileReader();
fileReader.onload = function(ev) {
let workbook;
let persons = []; // 存储获取到的数据
try {
var data = ev.target.result;
workbook = XLSX.read(data, {
type: "binary" // 以二进制流方式读取得到整份excel表格对象
});
} catch (e) {
reject(e)
return;
}
// 遍历每张表读取
for (var sheet in workbook.Sheets) {
if (workbook.Sheets.hasOwnProperty(sheet)) {
persons = persons.concat(
XLSX.utils.sheet_to_json(workbook.Sheets[sheet])
);
// break; // 如果只取第一张表,就取消注释这行
}
}
resolve(persons);
};
// 以二进制方式打开文件
fileReader.readAsBinaryString(file);
});
};
使用
<script>
import {readfileByExcel} from "@/util/common"
readfileByExcel(file).then((res) => {
console.log(res);
})
</script>