第一步下载引入
npm i xlsx
//vue3中
import * as XLSX from "xlsx";
//vue2中
import XLSX from 'xlsx'
读取本地Excel表格解析成JSON
//files导入的文件
function readWorkbookFromLocalFile(files) {
let respondBody = {};
const fileReader = new FileReader();
fileReader.readAsBinaryString(files);
return new Promise(function (resolve, reject) {
fileReader.onload = function (ev) {
try {
let data = ev.target.result;
let workbook = XLSX.read(data, {
type: "binary",
}); // 以二进制流方式读取得到整份excel表格对象
let sheetContent = [];
// 遍历每张表读取
for (let sheet in workbook.Sheets) {
if (workbook.Sheets.hasOwnProperty(sheet)) {
sheetContent.push(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]))
}
}
respondBody = {
code: 100,
msg: "文件解析成功",
body: sheetContent,
};
resolve(respondBody);
} catch (e) {
respondBody = {
code: 500,
msg: "文件类型不正确",
body: "",
};
reject(respondBody);
}
};
});
}
JSON导出esxcl
function exportFile(data) {
// 你的 JSON 数据
const jsonData = [
{
name: "xxx",
sex: "x",
age: "xx",
idCard: "xxxxx",
unit: "xxxxx",
address: "xxxxxx",
phone: "xxxxx",
},
];
// 将 JSON 数据转换为工作簿对象。
const worksheet = XLSX.utils.json_to_sheet(jsonData);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 写入文件
XLSX.writeFile(workbook, '模板.xlsx');
}
- 参考官网网址: https://github.com/SheetJS/js-xlsx
- 参考网址:https://blog.csdn.net/u014241231/article/details/122615830?spm=1001.2014.3001.5506