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();
      });
    },
相关推荐
ID_180079054732 小时前
淘宝 API 详情类 JSON 结构化解析实战(核心章节)
json
搬砖的小码农_Sky4 小时前
Excel批量复制全攻略:从单列单行到高级场景
excel·人机交互
专注VB编程开发20年4 小时前
淘宝上架销售技巧:Excel管理系统开发 / VBA / ERP / OA办公管理
java·数据库·excel
爱喝水的鱼丶6 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第五篇:SAP 报表多格式输出:Excel/PDF 批量导出功能实现
学习·性能优化·pdf·excel·sap·abap
tedcloud1237 小时前
codegraph部署教程:构建代码库语义分析环境
服务器·人工智能·word·excel
吾爱神器7 小时前
多个EXCEL工作表格合并数据列比对工具
excel·数据合并·数据对比·数据比对·excel数据合并·excel数据对比
haven-8527 小时前
AI Agent 生态核心概念详解:Agent、MCP、Skill 与 JSON-RPC
人工智能·rpc·json
_xaboy8 小时前
开源Vue组件FormCreate通过 JSON 生成TinyVue表单
前端·vue.js·低代码·开源·json·表单设计器
yumgpkpm9 小时前
华为HUAWEI昇腾910B下千问Qwen3.6-27B在的推理加速实践
sql·华为·langchain·json·ai编程·ai写作·gpu算力
daols8810 小时前
vxe-table 实现 Excel 风格向下复制填充(Ctrl + D 键)
javascript·vue.js·excel·vxe-table·vxe-ui