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

Uncaught TypeError报错求助:无法读取json_to_sheet属性

问题解决:Uncaught TypeError: Cannot read properties of undefined (reading 'json_to_sheet')

先给你讲清楚相关基础概念,再给你能直接用的解决方案:

关于Node.js和node_modules

Node.js是让JavaScript能在浏览器外运行的环境(比如本地跑脚本、搭服务器),npm是它自带的包管理工具,用来下载第三方库,下载的库会存在node_modules文件夹里——但你完全可以不用这套,直接在浏览器里用CDN引入库,不用碰node_modules。

报错原因

你用fetch引入xlsx的方式不对:xlsx的浏览器版本需要作为脚本加载到全局环境,直接fetch回来的是文件内容,不是能直接调用的库对象,所以找不到json_to_sheet方法。

直接可用的解决方案(无需node_modules)

步骤1:在HTML里添加CDN脚本

把这段代码放在你的自定义脚本之前,确保库先加载:

<script src="https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"></script>

步骤2:编写导出Excel的代码

直接用全局对象XLSX调用方法,示例代码:

// 你的对象数组数据
const userData = [
  { id: 1, name: "Abinesh", email: "abinesh@example.com" },
  { id: 2, name: "Test User", email: "test@example.com" }
];

// 把对象数组转成工作表
const worksheet = XLSX.utils.json_to_sheet(userData);
// 创建新工作簿
const workbook = XLSX.utils.book_new();
// 把工作表添加到工作簿,命名为"用户数据"
XLSX.utils.book_append_sheet(workbook, worksheet, "用户数据");
// 导出为Excel文件
XLSX.writeFile(workbook, "用户数据.xlsx");

排查你之前操作的问题

如果按上述步骤还是报错,检查这几点:

  • 打开浏览器控制台的「Network」标签,确认CDN脚本的HTTP状态码是200(加载成功)
  • 你的自定义脚本必须在CDN脚本之后执行,否则会出现XLSX is not defined的错误
  • 检查拼写:是XLSX.utils.json_to_sheet,注意大小写和下划线,别写错

内容的提问来源于stack exchange,提问作者Abinesh.co

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:36:27