daily-share
daily-share copied to clipboard
读取本地的Excel文件,转成需要的json数据结构(2021-6-23)
利用node-xlsx解决Excel的数据问题
var xlsx = require("node-xlsx");
// 解析得到文档中的所有 sheet
var sheets = xlsx.parse("./user.xlsx");
function getJson() {
// 遍历 sheet
const list = []
sheets.forEach(function (sheet) {
// 读取每行内容
for (var rowId in sheet["data"]) {
var row = sheet["data"][rowId];
list.push({
name: row[0],
phone: row[1],
city: row[2]
})
}
});
list.shift();
return list
}
console.log(getJson())
前端处理
结合 xlsx 依赖
import { read, utils } from 'xlsx';
const beforeUpload = (file) => {
const fileReader = new FileReader();
fileReader.onload = (event) => {
try {
const { result } = event.target;
const workbook = read(result, { type: 'binary' });
let data = [];
for (const sheet in workbook.Sheets) {
// eslint-disable-next-line no-prototype-builtins
if (workbook.Sheets.hasOwnProperty(sheet)) {
data = data.concat(utils.sheet_to_json(workbook.Sheets[sheet]));
}
}
console.log(data);
} catch (e) {
console.log(e);
}
};
// 以二进制方式打开文件
fileReader.readAsBinaryString(file);
return false;
};