展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 怎么用elementUI+Springboot实现导出excel功能

怎么用elementUI+Springboot实现导出excel功能

步骤依赖包首先,我们需要引入vue的依赖包我用的是这个npminstallxlsx@^0.16.0npminstallfile-saver@^2.0.2其中xlsx依赖的作用为:将数据进行处理为excel工作簿file-saver依赖的作用为:将文件进行一个保存导出来element表格table这里,实际上是用的elemenetUI的表格table标签,获取到数据,因此,我们需要对表格添加一个选择器在我的项目中,我是添加了一个id:exportExceltableData为自定义的接收后端传过来的数据的变

本文目录

    步骤

    依赖包

    首先,我们需要引入vue的依赖包
    我用的是这个

    npm install xlsx@^0.16.0
    npm install file-saver@^2.0.2

    其中xlsx依赖的作用为:将数据进行处理为excel工作簿
    file-saver依赖的作用为:将文件进行一个保存导出来

    element表格table

    这里,实际上是用的elemenetUI的表格table标签,获取到数据,因此,我们需要对表格添加一个选择器
    在我的项目中,我是添加了一个id:exportExcel

    tableData为自定义的接收后端传过来的数据的变量

    引入包

    然后,在你需要编写导出功能的页面,进行引入
    具体如下:

    import XLSX from "xlsx";
    import FileSaver from "file-saver";

    编写方法

    以下代码中,有一个

    var xlxsParam = { raw: true };

    这个的作用是不对数据进行处理
    主要目的是为了防止把日期这种数据处理掉,导致显示出错

        // 导出
        exportExcelData() {
          var xlxsParam = { raw: true };
          // 从表中生成工作簿
          var wb = XLSX.utils.table_to_book(
            document.querySelector("#exportExcel"),
            xlxsParam
          );
          // 获取二进制字符串作为输出
          var wbOut = XLSX.write(wb, {
            bookType: "xlsx",
            bookSST: true,
            type: "array",
          });
          try {
            FileSaver.saveAs(
              // Blob 对象表示一个不可变、原始数据的类文件对象
              // Blob 表示的不一定是js的原生格式数据
              // File 接口基于Blob,
              // 返回一个新创建的Blob对象,其内容由参数中给定的数组串联
              new Blob([wbOut], { type: "application/octet-stream" }),
              // 导出文件名称
              "文件名称.xlsx"
            );
          } catch (e) {
          // 捕捉报错
            if (typeof console != "undefined") {
              console.log(e, wbOut);
            }
          }
          // 将结果返回出来,导出文件
          return wbOut;
        },

    完整实例

    完整实例如下: