天天看点

vue导出Excel表格(超级简洁)

vue导出Excel表格(超级简洁)

    • 1.下载依赖
    • 2.新建一个js文件夹放编写的js
    • 3.然后再main.js里面引入刚刚写好的那个js文件
    • 4.在页面编写代码

作者呢是使用的一个插件。

1.下载依赖

npm install --save xlsx file-saver
           

2.新建一个js文件夹放编写的js

在src下面新建就可以

vue导出Excel表格(超级简洁)

然后再htmlToExcel.js下编写咱们的代码

import FileSaver from 'file-saver';
import XLSX from 'xlsx';
export default {
  // 导出Excel表格
  exportExcel(name, tableName) {
    //name表示生成excel的文件名     tableName表示表格的id
    var sel = XLSX.utils.table_to_book(document.querySelector(tableName))
    var selIn = XLSX.write(sel, { bookType: 'xlsx', bookSST: true, type: 'array' })
    try {
      FileSaver.saveAs(new Blob([selIn], { type: 'application/octet-stream' }), name)
    } catch (e) {
      if (typeof console !== 'undefined') console.log(e, selIn) 
    }
    return selIn
  }
};

           

直接全部复制就好。

3.然后再main.js里面引入刚刚写好的那个js文件

//全局导出excel
import htmlToExcel from './excel/htmlToExcel';//刚刚写好的那个js文件的路径
Vue.prototype.htmlToExcels = htmlToExcel;
           

4.在页面编写代码

methods里面编写下面方法

exportExcel() {
      this.htmlToExcels.exportExcel("涝情处理报告.xlsx", "#vcfResult");
      //第一个引号里面是表格导出时的名字
      //第二个是表格的id,这个插件是通过id导出的
    }
           
vue导出Excel表格(超级简洁)

这是我定义的自己表格的id,我在这用的是viewUI,大家用别的,包括原生,ele都可以,id和方法下面一致就可以。

vue导出Excel表格(超级简洁)

在导出按钮,绑定刚刚的方法名字,通过点击事件触发就可以啦。

效果最后

vue导出Excel表格(超级简洁)