0

0

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

WBOY

WBOY

发布时间:2023-05-18 19:19:20

|

1165人浏览过

|

来源于亿速云

转载

步骤

依赖包

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

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

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

element表格table

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

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;
    },

完整实例

完整实例如下:

XPaper Ai
XPaper Ai

AI撰写论文、开题报告生成、AI论文生成器尽在XPaper Ai论文写作辅助指导平台

下载