我将数据导出到 Excel,但收到此错误:无法读取未定义的属性(读取“编辑”)

sey*_*ams 3 xlsx reactjs

我想将材料表数据导出到 Excel,但是当我单击下载时,我在控制台中收到错误:\n无法读取未定义的属性(读取“编辑”)

\n

(我使用“xlsx”:“^0.18.0”)

\n
<div onClick={downloadExcel} className="downloadExcel">\n      <img src="/assets/excel-svgrepo-com.svg" />\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

我的 downloadExcel 函数是:

\n
  const downloadExcel = () => {\n    const newData = Apiary.map((row) => {\n      delete row.tableData;\n      return row;\n    });\n    const workSheet = XLSX.utils.json_to_sheet(newData);\n    const workBook = XLSX.utils.book_new();\n    XLSX.utils.book_append_sheet(workBook, workSheet, "students");\n    //Buffer\n    let buf = XLSX.write(workBook, { bookType: "xlsx", type: "buffer" });\n    //Binary string\n    XLSX.write(workBook, { bookType: "xlsx", type: "binary" });\n    //Download\n    XLSX.writeFile(workBook, "\xd9\x84\xdb\x8c\xd8\xb3\xd8\xaa \xd8\xb2\xd9\x86\xd8\xa8\xd9\x88\xd8\xb1\xd8\xb3\xd8\xaa\xd8\xa7\xd9\x86.xlsx");\n  };\n
Run Code Online (Sandbox Code Playgroud)\n

当我 onClick img 时,我的反应冻结并停止\n如何修复此错误?

\n

Fab*_*nto 7

TL;DR:确保像这样导入 XLSX 库:import * as XLSX from 'xlsx'


我在 Vue.js 上的 XLSX 上遇到了类似的问题。

我正在将库导入到组件上,import XLSX from 'xlsx'并在控制台上收到此错误:

[Vue warn]: Error in v-on handler: "TypeError: Cannot read properties of undefined (reading 'utils')"
Run Code Online (Sandbox Code Playgroud)

然后我注意到终端(正在运行 vue.js 应用程序)上显示了以下消息:"export 'default' (imported as 'XLSX') was not found in 'xlsx'

所以我通过将导入更改为解决了这个问题:import * as XLSX from 'xlsx'