Excel处理工具库
一个松耦合的Excel工具库
今日安裝
0
總安裝量
1
創建日期
20 天前
更新日期
20 天前
用户評分
暫無評分
// @require https://scriptcat.org/lib/2562/0.0.3/Excel%E5%A4%84%E7%90%86%E5%B7%A5%E5%85%B7%E5%BA%93.js
v0.0.3@require库

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);
腳本評分
empty image
還沒有人來給腳本打分,快來成為第一個打分的人吧