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

在NestJS中使用ExcelJS读取Excel文件遇Workbook未定义错误

解决NestJS中ExcelJS的TypeError: Cannot read properties of undefined (reading 'Workbook')问题

这个错误的核心原因是ExcelJS的导入方式不符合模块导出规范,结合NestJS的TypeScript环境,你可以按以下步骤解决:

1. 确保依赖安装完整

先确认已经安装了exceljs及其TypeScript类型定义:

npm install exceljs @types/exceljs
# 或者用yarn
yarn add exceljs @types/exceljs
# 或者pnpm
pnpm add exceljs @types/exceljs

2. 调整导入方式

根据ExcelJS的模块导出规则,有两种可行的导入方式:

方式一:命名空间整体导入

将默认导入改为命名空间导入,确保能正确访问到Workbook类:

import * as ExcelJS from 'exceljs';

// ...

async import(file: Buffer) {
    const workBook = new ExcelJS.Workbook();
    await workBook.xlsx.load(file);
    // 这里添加你的数据处理逻辑
}

方式二:直接导入Workbook类

如果只需要Workbook,也可以直接单独导入:

import { Workbook } from 'exceljs';

// ...

async import(file: Buffer) {
    const workBook = new Workbook();
    await workBook.xlsx.load(file);
    // 这里添加你的数据处理逻辑
}

额外注意点

如果是处理NestJS的文件上传场景,要确保传入的file是Buffer类型(比如通过multer处理后,取file.buffer获取二进制数据),否则load方法也可能抛出异常。

内容的提问来源于stack exchange,提问作者Michael George

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:15:34