如何使用 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),但我真的不知道要开始。
我已经看到意识到这一点的图书馆,但我感觉不舒服table,因为它们每周的下载量通常少于 1.5k。
我的目的是使用简单的 table 导出 Excel 文档,其中 headers 将成为 object 的属性。
使用 xlsx third-party 库。
npm install xlsx
使用图书馆:
import XLSX from "xlsx";
单击按钮时触发下载函数(将数据作为参数传递):
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");
};
下载按钮:(函数调用:你应该根据自己的需要修改它,下面是React Class组件实现,所以我使用this
)
<button onClick={()=>this.downloadExcel(data)}>
Download As Excel
</button>
根据已接受的答案,如果有人收到“尝试导入错误:'xlsx' 不包含默认导出(导入为 'XLSX')”错误,请尝试使用以下方法导入:
import * as XLSX from 'xlsx';
希望对您有所帮助。
我有一个端点可以检索 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),但我真的不知道要开始。 我已经看到意识到这一点的图书馆,但我感觉不舒服table,因为它们每周的下载量通常少于 1.5k。
我的目的是使用简单的 table 导出 Excel 文档,其中 headers 将成为 object 的属性。
使用 xlsx third-party 库。
npm install xlsx
使用图书馆:
import XLSX from "xlsx";
单击按钮时触发下载函数(将数据作为参数传递):
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");
};
下载按钮:(函数调用:你应该根据自己的需要修改它,下面是React Class组件实现,所以我使用this
)
<button onClick={()=>this.downloadExcel(data)}>
Download As Excel
</button>
根据已接受的答案,如果有人收到“尝试导入错误:'xlsx' 不包含默认导出(导入为 'XLSX')”错误,请尝试使用以下方法导入:
import * as XLSX from 'xlsx';
希望对您有所帮助。