本文主要记录一下Electron如何实现前端的导出任务。
1、给你的项目安装依赖包
npm i --save
官方文档:https://docs.sheetjs.com/docs/
2、引入组件
let XLSX = require("xlsx");
3、弹出文件保存框,用户选择保存路径
const result = await electron.dialog.showSaveDialog({ title: '保存文件至', defaultPath: "风险地区数据.xlsx", filters: [{ name: "文件类型", extensions: ["xlsx", "xls"] }] }); if (!result.filePath) { return }
4、核心代码来了
var gaoCountData = ws_data.filter(x => x.风险等级 == '高风险'); //将第一个sheet数据筛选出来 var diCountData = ws_data.filter(x => x.风险等级 == '低风险'); //将第二个sheet数据筛选出来 const wb = XLSX.utils.book_new(); //创建工作簿 var g = XLSX.utils.json_to_sheet(gaoCountData); //生成sheet var d = XLSX.utils.json_to_sheet(diCountData); //生成sheet XLSX.utils.book_append_sheet(wb, g, "高风险地区"); //添加sheet到工作簿 XLSX.utils.book_append_sheet(wb, d, "低风险地区");//添加sheet到工作簿 XLSX.writeFile(wb, result.filePath); //保存文件
扩展:还可以加入loading,因为获取导出数据需要时间,还可以保存之后给一个提示,顺便打开文件所在文件夹
留下您的脚步
最近评论