Excel处理工具库
一个松耦合的Excel工具库
今日安裝
0
總安裝量
1
創建日期
20 天前
更新日期
20 天前
用户評分
暫無評分
Excel处理工具库
主要解决:
- 数据导出问题
- 复杂对象导出问题
- 代码洁癖,导出逻辑分离问题
注意事项
- 松耦合特性导致需要自己处理最终导出对象如何下载,函数将返回blob对象
- 代码大部分是GPT写的,我先发布调试。有问题可能随时推版本(版本号到1.x.x之前均不是稳定版)
API介绍:
构造函数
constructor()
初始化一个新的 ExcelHelper
实例。
方法
addSheet(sheetName: string, data: Array<Array<any>>): void
添加一个新的工作表到工作簿中。
- 参数
sheetName
: 工作表名称。data
: 二维数组格式的数据,支持字符串和超链接对象,超链接对象的格式为{ text: '链接文本', link: '链接内容' }
。
注意链接内容可以是HTTP(S)也可以是excel文档内部链接('sheet!'A1:B2)
exportExcel(): Blob
导出当前工作簿为 Excel 文件,并返回一个 Blob 对象。
- 返回
- 返回一个 Blob 对象,表示导出的 Excel 文件。
setCellStyle(cellAddress: string, style: Object): void
设置指定单元格的样式。
- 参数
cellAddress
: 单元格地址(例如,'A1'
)。style
: 样式对象,具体样式属性参见SheetJS
文档。
s2ab(s: string): ArrayBuffer
(内部使用,可忽略该用法)
将字符串转换为 ArrayBuffer
,用于导出 Excel 文件。
参数
s
: 输入字符串。
返回
- 返回转换后的
ArrayBuffer
。
- 返回转换后的
使用示例
// 创建 ExcelHelper 实例
const excelHelper = new ExcelHelper();
// 添加产品数据工作表
const productData = [
["商品名称", "商品链接"],
["商品1", { text: "查看产品1", link: "https://example.com/product1" }],
["商品2", { text: "查看产品2", link: "https://example.com/product2" }]
];
excelHelper.addSheet("产品数据", productData);
// 添加链接数据工作表
const linkData = [
["商品名称", "链接"],
["商品1", { text: "查看变体1", link: "https://example.com/product1-variant1" }],
["商品1", { text: "查看变体2", link: "https://example.com/product1-variant2" }],
["商品2", { text: "查看变体1", link: "https://example.com/product2-variant1" }]
];
excelHelper.addSheet("链接数据", linkData);
// 导出 Excel Blob
const excelBlob = excelHelper.exportExcel();
// 处理下载(调用方负责下载)
const url = URL.createObjectURL(excelBlob);
const a = document.createElement('a');
a.href = url;
a.download = '商品数据.xlsx';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
腳本評分
還沒有人來給腳本打分,快來成為第一個打分的人吧