js 将table转成Excel

1.情景展示

如何使用js将网页中的表格转成Excel文件?

2.具体分析

通过SheetJS的xlsx.js文件实现。

说明:

将table转成Excel,一般情况下,这个网页上的table表格是不涉及分页的;

如果涉及分页的话,不和后台进行数据交互获取所有符合要求的数据,显然是不合理的。

3.解决方案

下载地址:https://github.com/SheetJS/sheetjs/archive/refs/tags/v0.18.5.zip

打开压缩包,找到dis目录下的xlsx.full.min.js

将该文件解压出来,放到项目当中。

在需要导出Excel的页面,引入该js文件。

<script type="text/javascript" src="/项目名称/ycyl/lis/wjPatientDetailInfo/statistics/xlsx.full.min.js"></script>

在页面上增加导出按钮。

 

js代码

//导出
this.exportExcel = function (){
	// 获取要导出的table对象
	var table = document.getElementById('exportTable');
	
	// 使用SheetJS的table_to_book方法将表格转换为工作簿
	var wb = XLSX.utils.table_to_book(table, {sheet: "Sheet1"});
	
	// 生成一个Blob对象,包含要下载的数据
	var wbout = XLSX.write(wb, {bookType:'xlsx', type:'array'});
	
	// 创建一个Blob对象,这将用作下载的数据
	var blob = new Blob([wbout], {type: "application/octet-stream"});
	
	// 创建一个a标签,用于触发下载
	var a = document.createElement("a");
	a.href = URL.createObjectURL(blob);
	a.download = "送检项目统计.xlsx";
	
	// 触发a标签的点击事件
	document.body.appendChild(a);
	a.click();
	
	// 清理a标签
	document.body.removeChild(a);
	
};

4.测试

导出成功

导出结果

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

posted @ 2024-07-17 15:50  Marydon  阅读(35)  评论(0编辑  收藏  举报