js-xlsx是一个简单的JavaScript插件,能够读取和写入Excel表格,功能强大,但是上手难度稍大,这里列举一些常用的用法,具体用法请参考 js-xlsx。
安装 js-xlsx:
npm install js-xlsx --save
一、导入Excel
在 main.js 添加以下代码:
import XLSX from 'xlsx';
let reader = new FileReader();
reader.onload = function (e) {
// 数据预处理
let binary = "";
let bytes = new Uint8Array(e.target.result);
let length = bytes.byteLength;
for (let i = 0; i < length; i++) {
binary += String.fromCharCode(bytes[i]);
}
/* 读取 workbook */
let workbook = XLSX.read(binary, {
type: 'binary'
});
/* 选择第一个 sheet */
let wsname = wb.SheetNames[0];
let workbook = wb.Sheets[wsname];
/* excel 转换 json 数组,加上 {header:1} 是普通数组,不写是对象数组 */
self.data = XLSX.utils.sheet_to_json(workbook);
console.log(self.data);
二、导出 Excel
1.根据 Html 表格导出 Excel文件并保存
/* html表格转excel */
let workbook = XLSX.utils.table_to_book(document.getElementById('out-table'));
/* 生成文件,导出F盘 */
XLSX.writeFile(workbook, "F://table_to_excel.xlsx");
2.根据 Json 数据导出 Excel 并保存
/* json 数组转换 excel */
let worksheet = XLSX.utils.aoa_to_sheet(this.data);
let workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "sheetjs");
/* 生成文件,导出F盘 */
XLSX.writeFile(workbook, "F://json_to_excel.xlsx");