将表格table作为execl导出

有时候的需求是从后台获取数据,然后将数据变成execl,进行导出,下载成execl 解决的方法是

一,比较方便的是

这有个插件 可以直接用 

https://www.npmjs.com/package/xlsx 

二,这种是自己写的一种

1.渲染数据的模板

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta charset="utf-8" />
<!--[if gte mso 9]>
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name><%=sheetName%></x:Name>
<x:WorksheetOptions>
<x:DisplayGridlines/>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
</xml><![endif]-->
</head>
<body><%=tableHTML%>
</body>
</html>

2.点击导出execl 点击导出按钮 然后执行这个函数

 

// 导出文件
		clickExport : function(event) {
		    var _this=this;
		    this.renderTable(function(){
			// 获取当前的图表类型
			var type = 'table';
			// sheet名称
			var sheetName = '专利信息汇总表 ';
			if (type == "table") {
				_this.exportExcel(sheetName, _this.$(".execltable").find("table"), event);
			}
		    });	
		},
		// 导出为excel文件
		exportExcel : function(sheetName, $table, event) {
			var base64 = window.btoa(unescape(encodeURIComponent(this.tableExcelTemplate({
				sheetName : sheetName,
				tableHTML : $table.prop("outerHTML")
			}))));
			// 获取下载链接
			var uri = 'data:application/vnd.ms-excel;base64,' + base64;
			// 设置下载名称
			event.target.download = sheetName + ".xls";
			// 触发下载
			event.target.href = uri;
		},
		renderTable:function(callback){
		    var result=this.tableView.getDataExecl();
		    this.$(".execltable").html(this.tableTemplate({
			rows:result
		    }));
		    callback();
		},

 

  

 

 

转载于:https://www.cnblogs.com/GainLoss/p/7109779.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值