Vue 导出功能

需求:

项目需求增加导出功能

功能实现

利用XLSX插件实现导出

  1. 在main.js中引用插件

import * as XLSX from 'xlsx'

Vue.prototype.$XLSX = XLSX; //设置全局
  1. 在公共方法文件common.js中编写公共导出方法
/*导出
data: 导出的数据
 name:导出的表格名
 cols:导出的列
*/
Vue.prototype.exportExcel=function(data, name, cols) {
	const worksheet =  this.$XLSX.utils.json_to_sheet(data);
	this.$XLSX.utils.sheet_add_aoa(worksheet, [cols], { origin: 'A1' });
	/* 创建新的workbook并将sheet添加到workbook */
	const workbook = this.$XLSX.utils.book_new();
	this.$XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
	/* 将workbook转换为blob文件,并下载 */
	this.$XLSX.writeFile(workbook, name);
},
  1. 需要实现功能的页面引用导出方法
onExport(){
	if(this.total<1){
		this.$message({ message: "请先查询数据!", type: "error" });
	}else{
		var Vuethis=this;
		this.$confirm("确定要导出Excel数据么?", { type: "warning" })
    	.then(() => {
			let cols=['时间','ID','名称','公司'];
			Vuethis.tableTitleList.forEach(item=>{
				cols.push(item.name)
			})
			let exportName='数据.xlsx';
			this.exportExcel(Vuethis.tableData,exportName,cols)
		})
	}	
},

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值