vue exceljs json数据转excel

json数据转excel

有时候我们会遇到这样一个需求,就是将数据转成excel下载,这一般都是由后端来处理,使用插件poi轻松搞定。如果只有少量数据,那么能不能避免调用后端接口,前端直接处理呢?

答案是:当然可以

使用exceljs excel专用插件来实现前端json数据转成excel文件并进行下载。

直接看效果:json格式化

一、下载安装

javascript 复制代码
yarn add exceljs;

版本,可以安装最新版,不过推荐下面版本,不会出现问题:

javascript 复制代码
"dependencies": {
    "exceljs": "^4.3.0",
  },

二、使用

1、引入插件;

javascript 复制代码
import ExcelJS from "exceljs";//直接使用

完事之后,接下来就是具体应用了

三、将json数据写入excel并导出excel

直接看代码:-

javascript 复制代码
exportExcel() {
      const workbook = new ExcelJS.Workbook();
      const worksheet = workbook.addWorksheet("Sheet1");//创建工作簿和工作sheet
      let json = this.getJSON();//这里是从方法中取到json,换成自己的数据即可
      if (Array.isArray(json)) {//判断json是否是数组,如果是数组,则进行遍历
        let title = [];
        for (let key in json[0]) {
          title.push(key);
        }
        worksheet.addRow(title);
        json.forEach((item, index) => {
          let v = [];
          for (let key in item) {
            v.push(item[key]);
          }
          worksheet.addRow(v);
        });

      } else {//非数组,直接填入工作sheet
        let title = [];
        for (let key in json) {
          title.push(key);
        }
        worksheet.addRow(title);
        let v = [];
        for (let key in json) {
          v.push(json[key]);
        }
        worksheet.addRow(v);
      }
      //开始导出,主要type类型,要设置为excel对应的格式
      workbook.xlsx.writeBuffer().then((buffer) => {
        const blob = new Blob([buffer], {
          type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        });
       const url = URL.createObjectURL(blob);
        const link = document.createElement("a");
        link.href = url;
        link.download = "data.xlsx"; // 下载文件名
        link.click();
      });
    },
相关推荐
电商API&Tina3 小时前
唯品会数据采集API接口||电商API数据采集
java·javascript·数据库·python·sql·json
李子焱3 小时前
第四节:理解 JSON 结构与 Item 概念
json·js·工作流
张涛酱1074566 小时前
降低 LLM Token 成本 40-50%:TOON 格式实战
json·ai编程
fengyehongWorld7 小时前
VBA 操作PowerQuery表格和带名字的表格
excel·vba
tangyal7 小时前
Linux 核心操作合集(网络配置、XShell远程连接、vim文本编辑与操作、权限管理 实操手册)
excel
wefly20178 小时前
jsontop.cn使用全攻略:免费无广告的在线工具站,电脑手机通用
开发语言·安全·json·ecmascript·json在线转换
softbangong1 天前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理
城数派1 天前
2000-2024年1km精度人口分布栅格数据(全球/全国/分省/分市)
arcgis·信息可视化·数据分析·excel
城数派1 天前
1984-2024年中国10米分辨率城市土地利用栅格数据(商业、公服、居住等9类)
arcgis·信息可视化·数据分析·excel
城数派1 天前
2015-2024年我国1km分辨率逐日地表温度(LST)栅格数据
数据库·arcgis·信息可视化·数据分析·excel