安装
npm install xlsx
使用
import XLSX from 'xlsx'
const workbook = XLSX.readFile('someExcel.xlsx', opts);
// 获取 Excel 中所有表名
const sheetNames = workbook.SheetNames; // 返回 ['sheet1', 'sheet2']
// 根据表名获取对应某张表
const worksheet = workbook.Sheets[sheetNames[0]];
// let sheet1Json = xlsx.utils.sheet_to_json(sheet1) // 有表头对象形式
let sheet1Json = xlsx.utils.sheet_to_json(sheet1, {header: 1}) // 无表头数组形式
// 获取 A1 单元格对象
let a1 = worksheet['A1']; // 返回 { v: 'hello', t: 's', ... }
// 获取 A1 中的值
a1.v // 返回 'hello'
// 获取表的有效范围
worksheet['!ref'] // 返回 'A1:B20'
worksheet['!range'] // 返回 range 对象,{ s: { r: 0, c: 0}, e: { r: 100, c: 2 } }
// 获取合并过的单元格
worksheet['!merges'] // 返回一个包含 range 对象的列表,[ {s: { r: 0, c: 0 }, c: { r: 2, c: 1 } } ]
workbook 对象,指的是整份 Excel 文档
SheetNames 工作表名
Sheets 对象,指的是 Excel 文档中的表
cell 对象,指的就是 worksheet 中的单元格
通过sheetJSON生成Excel文件
const worksheet = xlsx.utils.json_to_sheet(json);
const workbook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(workbook, worksheet, "Dates");
xlsx.writeFile(workbook, "../Presidents.xlsx", { compression: true });