@cweijan/exceljs
v5.0.2
Published
Excel Workbook Manager - Read and Write xlsx and csv Files.
Maintainers
Readme
@cweijan/exceljs
这是面向 vscode-office/Office Viewer 使用场景维护的 ExcelJS 分支,用于读取、编辑和写出 XLSX 工作簿。
主要变更
- 包名调整为
@cweijan/exceljs - 修复 Windows 环境或部分打包器生成的 XLSX 中反斜杠路径导致的文件解析问题。
- 修复 SpreadsheetDrawing 使用默认命名空间时无法解析图片锚点的问题,例如
<wsDr>、<oneCellAnchor>等无xdr:前缀的合法 drawing XML。 - 保留 ExcelJS 的核心 Workbook、Worksheet、Cell、Style、Image、CSV/XLSX 读写能力,并提供浏览器构建入口。
安装
npm install @cweijan/exceljs导入
import ExcelJS from '@cweijan/exceljs';读取 XLSX
import ExcelJS from '@cweijan/exceljs';
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.load(arrayBuffer);
const worksheet = workbook.getWorksheet(1);
worksheet.eachRow((row, rowNumber) => {
console.log(rowNumber, row.values);
});写出 XLSX
import ExcelJS from '@cweijan/exceljs';
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('Sheet1');
worksheet.columns = [
{header: 'Name', key: 'name', width: 20},
{header: 'Value', key: 'value', width: 16},
];
worksheet.addRow({name: 'Example', value: 123});
const buffer = await workbook.xlsx.writeBuffer();常用操作
单元格
worksheet.getCell('A1').value = 'Hello';
worksheet.getCell('B1').value = 100;
worksheet.getCell('B1').numFmt = '#,##0.00';样式
worksheet.getCell('A1').font = {bold: true, color: {argb: 'FF000000'}};
worksheet.getCell('A1').alignment = {vertical: 'middle', horizontal: 'center'};合并单元格
worksheet.mergeCells('A1:C1');
worksheet.getCell('A1').value = 'Merged Title';图片
const imageId = workbook.addImage({
buffer: imageBuffer,
extension: 'png',
});
worksheet.addImage(imageId, {
tl: {col: 0, row: 0},
ext: {width: 160, height: 90},
});CSV
const workbook = new ExcelJS.Workbook();
await workbook.csv.readFile('data.csv');
await workbook.csv.writeFile('output.csv');构建
npm run build构建产物输出到 dist/browser。
许可
MIT
