1. 二进制读取并解析xlsx文件
xlsx库:用于解析xlsx文件
import * as XLSX from 'xlsx';
let data = await readFile(file);
const workbook = XLSX.read(data, {type:'binary'});
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const data = XLSX.utils.sheet_to_json(worksheet);
function readFile(file) {
return new Promise(resolve => {
let reader = new FileReader()
reader.readAsBinarySTring(file)
reader.onload = ev => {
resolve(ev.target.result)
}
})
}
2. 浏览器将js对象导出成xlsx文件
import * as XLSX from 'xlsx';
const data = [
{ 姓名: '小明1', 年龄: 18, 电话: 110 },
{ 姓名: '小明2', 年龄: 19, 电话: 110 },
{ 姓名: '小明3', 年龄: 20, 电话: 110 },
];
const sheet = XLSX.utils.json_to_sheet(data);
const book = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(book, sheet, 'sheetName');
XLSX.writeFile(book, `user${new Date().getTime()}.xls`);