JSXLSX(也称为SheetJS)是一个功能强大的JavaScript库,用于读取、写入和修改Excel文件(如.xlsx)。以下是关于JSXLSX的中文文档和相关信息:
你可以通过npm安装JSXLSX库:
npm install xlsx
以下是一个简单的示例,展示如何使用JSXLSX读取Excel文件并将其转换为JSON格式:
import * as XLSX from 'xlsx';
function handleFile(e) {
const file = e.target.files[0];
const reader = new FileReader();
reader.onload = function(e) {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, { type: 'array' });
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
const jsonData = XLSX.utils.sheet_to_json(worksheet);
console.log(jsonData);
};
reader.readAsArrayBuffer(file);
}
以下是一个示例,展示如何将JSON数据导出为Excel文件:
function exportExcel() {
const data = [
{ name: '张三', age: 25, city: '北京' },
{ name: '李四', age: 30, city: '上海' },
];
const worksheet = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "人员信息");
XLSX.writeFile(workbook, "人员信息表.xlsx");
}
JSXLSX也支持设置单元格样式,例如:
const worksheet = XLSX.utils.json_to_sheet(data);
worksheet['A1'].s = {
font: { bold: true, color: { rgb: "FF0000" } },
fill: { fgColor: { rgb: "FFFF00" } },
};
对于大型Excel文件,可以使用流式处理来优化性能:
const stream = XLSX.stream.to_json(worksheet, { raw: true });
stream.on('data', row => {
console.log(row);
});
stream.on('end', () => {
console.log('处理完成');
});
腾讯云存储知识小课堂
Elastic Meetup
Tencent Serverless Hours 第13期
Elastic Meetup Online 第四期
Techo Day 第二期
腾讯云数据湖专题直播
算法大赛
Tencent Serverless Hours 第12期
Tencent Serverless Hours 第15期
领取专属 10元无门槛券
手把手带您无忧上云