繁体   English   中英

如何使用 Nextjs/React 将 JSON object 导出到 Excel?

[英]How can I export a JSON object to Excel using Nextjs/React?

我有一个端点可以检索 json object,如下所示:

"data": [
{
"id": 1,
"temaIndicador": "Indian",
"codigo": "001",
"observaciones": "Interactions Specialist tertiary Regional Tennessee",
"activo": "SI",
"urlImagen": "http://placeimg.com/640/480",
"color": "cyan",
"createdAt": "2022-01-26T18:48:36.002Z"
]

我想实现一个按钮,允许用户将数据导出为多种格式,包括 Excel (.xlsx),但我真的不知道要开始。 我已经看到意识到这一点的图书馆,但我感觉不舒服,因为它们每周的下载量通常少于 1.5k。

我的目的是导出带有简单表的 Excel 文档,其中标题将成为对象的属性。

根据已接受的答案,如果有人收到“尝试导入错误:‘xlsx’不包含默认导出(导入为‘XLSX’)”错误,请尝试使用以下方法导入:

import * as XLSX from 'xlsx';

希望能帮助到你。

使用 xlsx 第三方库。

npm install xlsx

使用库:

import XLSX from "xlsx";

下载 function 按钮点击触发器(传递数据作为参数):

downloadExcel = (data) => {
    const worksheet = XLSX.utils.json_to_sheet(data);
    const workbook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(workbook, worksheet, "Sheet1");
    //let buffer = XLSX.write(workbook, { bookType: "xlsx", type: "buffer" });
    //XLSX.write(workbook, { bookType: "xlsx", type: "binary" });
    XLSX.writeFile(workbook, "DataSheet.xlsx");
  };

下载按钮:

<button onClick={()=>this.downloadExcel(data)}>
    Download As Excel
</button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM