vue-elementui table 导出功能

需要先引入两个依赖

npm install --save xlsx file-saver

然后前端页面代码

这是脚手架组件代码

<template>

<div class="eltable">

<!--给表格添加一个id,导出文件事件需要使用-->

<el-table

:data="tdata"

border

style="width: 100%"

id="out-eltable"

>

<el-table-column

prop="date"

label="日期"

width="180"

>

</el-table-column>

<el-table-column

prop="name"

label="姓名"

width="180"

>

</el-table-column>

<el-table-column

prop="address"

label="地址"

>

</el-table-column>

</el-table>

<!--给按钮绑定事件-->

<button @click="exportExcel">点击导出</button>

</div>

</template>

// 引入导出Excel表格依赖 也可以直接引导main,js

import FileSaver from "file-saver";

import XLSX from "xlsx";

export default {

name: "exproteltable",

data() {

return {

tdata: [

{

date: "2016-05-02",

name: "王小虎",

address: "上海市普陀区金沙江路 1518 弄"

},

{

date: "2016-05-04",

name: "王小虎",

address: "上海市普陀区金沙江路 1517 弄"

},

{

date: "2016-05-01",

name: "王小虎",

address: "上海市普陀区金沙江路 1519 弄"

},

{

date: "2016-05-03",

name: "王小虎",

address: "上海市普陀区金沙江路 1516 弄"

}

]

};

},

mounted() {},

methods: {

//定义导出Excel表格事件

exportExcel() {

/* 从表生成工作簿对象 */

var wb = XLSX.utils.table_to_book(document.querySelector("#out-eltable"));

/* 获取二进制字符串作为输出 */

var wbout = XLSX.write(wb, {

bookType: "xlsx",

bookSST: true,

type: "array"

});

try {

FileSaver.saveAs(

//Blob 对象表示一个不可变、原始数据的类文件对象。

//Blob 表示的不一定是JavaScript原生格式的数据。

//File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。

//返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。

new Blob([wbout], { type: "application/octet-stream" }),

//设置导出文件名称

"人员信息.xlsx"

);

} catch (e) {

if (typeof console !== "undefined") 

console.log(e, wbout);

}

return wbout;

}

}

};

.table {

width: 100%;

height: 300px;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容