Mig*_*l V 12 javascript export-to-excel reactjs next.js
我有一个检索 json 对象的端点,如下所示:
"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"
]
Run Code Online (Sandbox Code Playgroud)
我想实现一个按钮,允许用户将数据导出为多种格式,包括 Excel (.xlsx),但我真的不知道如何开始。我已经看到一些库意识到了这一点,但我感觉不太舒服,因为它们通常每周的下载量不到 1,500 次。
我的目的是导出一个带有简单表格的 Excel 文档,其中标题将是对象的属性。
Anm*_*mol 24
使用xlsx第三方库。
npm install xlsx
Run Code Online (Sandbox Code Playgroud)
使用库:(使用以下行之一进行导入)-
import XLSX from "xlsx";
Run Code Online (Sandbox Code Playgroud)
或者
import * as XLSX from 'xlsx';
Run Code Online (Sandbox Code Playgroud)
单击按钮时下载函数触发器(将数据作为参数传递):
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");
};
Run Code Online (Sandbox Code Playgroud)
下载按钮:(函数调用:你应该根据你的要求修改它,下面一个是React Class Component实现,这就是我使用的原因this
)
<button onClick={()=>this.downloadExcel(data)}>
Download As Excel
</button>
Run Code Online (Sandbox Code Playgroud)
小智 14
根据接受的答案,如果有人收到“尝试导入错误:‘xlsx’不包含默认导出(导入为‘XLSX’)”错误,请尝试使用以下命令导入:
import * as XLSX from 'xlsx';
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
归档时间: |
|
查看次数: |
18483 次 |
最近记录: |