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

使用ExcelJS读取xlsx文件遇TypeError错误,求排查方案

解决TypeError: Cannot read properties of undefined (reading 'F_OK')错误

这个错误的核心原因是你使用了Node.js端的文件读取方法在浏览器环境运行,或者Node.js环境下exceljs依赖的fs模块出现异常。

情况1:前端网站(浏览器环境)

exceljs的readFile方法依赖Node.js的fs模块,而浏览器没有这个模块,自然找不到fs.constants.F_OK,所以会报错。你需要改用浏览器端的文件读取方式,通过文件上传控件获取文件后,用load()方法读取文件的ArrayBuffer:

<input type="file" id="excelUpload" accept=".xlsx">
<script>
// 确保exceljs已通过CDN或打包工具引入(比如webpack、vite)
const workbook = new Excel.Workbook();

document.getElementById('excelUpload').addEventListener('change', async (event) => {
  const selectedFile = event.target.files[0];
  if (!selectedFile) return;

  // 读取文件为ArrayBuffer
  const fileBuffer = await selectedFile.arrayBuffer();
  // 加载到workbook
  await workbook.xlsx.load(fileBuffer);

  // 示例:读取第一个工作表的第一行数据
  const firstSheet = workbook.getWorksheet(1);
  console.log('第一行数据:', firstSheet.getRow(1).values);
});
</script>

情况2:Node.js环境

如果是在Node.js里运行仍报错,尝试以下步骤:

  • 重新安装exceljs依赖:
    npm uninstall exceljs && npm install exceljs
    
  • 检查Node.js版本,确保是exceljs支持的版本(建议v14及以上)
  • 排查代码中是否有修改、覆盖fs模块的逻辑

内容的提问来源于stack exchange,提问作者Ole Nedderhoff

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:30:54