You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Azure DevOps扩展时遇xlsx库IWorkSheetCell导出错误求助

解决xlsx库0.18.5版本中IWorkSheetCell不存在的错误

在SheetJS的xlsx库0.18.x版本中,IWorkSheetCell类型已被更名为CellObject,这是你遇到该错误的直接原因。以下是两种解决方案:

方法一:适配新版本类型(推荐)

将代码中的XLSX.IWorkSheetCell替换为XLSX.CellObject即可,修改后的关键代码如下:

var cell: XLSX.CellObject = { v: data[R][C], t: 's' };

完整修改后的代码片段:

for (var R = 0; R != data.length; ++R) {
        for (var C = 0; C != data[R].length; ++C) {
            if (range.s.r > R) range.s.r = R;
            if (range.s.c > C) range.s.c = C;
            if (range.e.r < R) range.e.r = R;
            if (range.e.c < C) range.e.c = C;
            var cell: XLSX.CellObject = { v: data[R][C], t: 's' };

            if (cell.v == null) continue;
            var cell_ref = XLSX.utils.encode_cell({ c: C, r: R });

            if (typeof cell.v === 'number') cell.t = 'n';
            else if (typeof cell.v === 'boolean') cell.t = 'b';
            else if (<any>cell.v instanceof Date) {
                cell.t = 'n';
                cell.z = XLSX.SSF._table[14];
                cell.v = datenum(cell.v);
            }
            else {
                cell.t = 's';
                cell.s = '1';
            }

            ws[cell_ref] = cell;
        }
    }

方法二:降级到旧版本

如果不想修改代码,可以将xlsx库降级到0.17.x版本(该版本仍保留IWorkSheetCell类型),执行命令:

npm install xlsx@0.17.5 --save

但更推荐使用方法一,新版本通常包含bug修复和功能更新,适配新类型能避免后续版本迭代带来的其他兼容性问题。

内容的提问来源于stack exchange,提问作者Adithya Gaurav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:10:16