HTML转Excel并实现打印,下载功能的案例

发布时间:2020-10-24 16:34:43 作者:小新
来源:亿速云 阅读:167

这篇文章将为大家详细讲解有关HTML转Excel并实现打印,下载功能的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<html>

	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		
	</head>

	<body link="blue" vlink="purple">
		<table id="print-content" border="1" cellpadding="0" cellspacing="0" style='border-collapse:collapse;table-layout:fixed;'>
			<colgroup>
				<col width="80 ">
				<col width="80 ">
				<col width="150 ">
				<col width="80 ">
				<col width="150 ">
				<col width="80 ">
				<col width="80 ">
			</colgroup>
			<tr height="20" style="text-align: center;font-size:18px">
				<td colspan="7">会签单</td>
			</tr>
			<tr height="20" style="text-align: center;font-size:14px">
				<td></td>
				<td colspan="2">流转</td>
				<td></td>
				<td colspan="3">会议</td>
			</tr>
			<tr height="20" style="text-align: center;font-size:14px">
				<td>名称</td>
				<td colspan="2">自动获取</td>
				<td>编号</td>
				<td colspan="3">自动获取</td>
			</tr>
			<tr height="20" style="text-align: center;font-size:14px">
				<td>主持</td>
				<td colspan="2">自动获取</td>
				<td>类型</td>
				<td colspan="3">自动获取</td>
			</tr>
			<tr height="20" style="text-align: center;font-size:14px">
				<td>人</td>
				<td colspan="2">自动获取</td>
				<td>日期</td>
				<td colspan="3">自动获取</td>
			</tr>
			<tr height="100" style="text-align: center;font-size:14px">
				<td rowspan="5">内容</td>
				<td colspan="6" rowspan="5">自动获取</td>
			</tr>
			<tr/>
			<tr/>
			<tr/>
			<tr/>
			<tr height="20" style="text-align: center;font-size:14px">
				<td>备注</td>
				<td colspan="6">自动获取</td>
			</tr>
			<tr height="24" style="text-align: center;font-size:16px">
				<td colspan="7">意见</td>
			</tr>
			<tr height="24" style="text-align: center;font-size:14px">
				<td>序号</td>
				<td>人</td>
				<td>部门</td>
				<td>意见</td>
				<td>时间</td>
				<td>节点</td>
				<td>状态</td>
			</tr>
			<tr height="20" style="text-align: center;font-size:14px">
				<td>1</td>
				<td>顾</td>
				<td>办公室</td>
				<td>同意!</td>
				<td>2018/5/14 15:21</td>
				<td></td>
				<td>已提交</td>
			</tr>
		</table>
		<!-- 下载方法1.超链接_导出文件-->
		<a id="print-click">超链接_导出表格</a>
		<!-- 下载方法2.引入文件保存js-->
		<input type="button" onclick="download()" value="函数_导出表格"></input>
		<input type="button" onclick="printout()" value="打印"></input>
		<!-- 下载方法2.引入文件保存js-->
		<script type="application/javascript" src="js/FileSaver.js" ></script>
		<script>
			// 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HTML文档,设置charset为urf-8以防止中文乱码
			var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementById("print-content").outerHTML + "</body></html>";
			// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
			var blob = new Blob([html], {
				type: "application/vnd.ms-excel"
			});
			var a = document.getElementById("print-click");
			// 利用URL.createObjectURL()方法为a元素生成blob URL
			a.href = URL.createObjectURL(blob);
			// 设置文件名,目前只有Chrome和FireFox支持此属性
			a.download = "会签单.xls";

			function download() {
				debugger
					// 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HTML文档,设置charset为urf-8以防止中文乱码
					var html2 = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementById("print-content").outerHTML + "</body></html>";
					// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
					var blob2 = new Blob([html2], {
						type: "application/vnd.ms-excel"
					});
					saveAs(blob2, "应系单.xls");
			};
			  //打印具体实现代码
           function printout() {
           		debugger;
                var newWindow;
                //打开一个新的窗口  
                newWindow = window.open();
                // 是新窗口获得焦点  
                newWindow.focus();
                //保存写入内容  
                var newContent = "<html><head><meta charset='utf-8'/><title>打印</title></head><body>"
                newContent += document.getElementById("print-content").outerHTML;
                newContent += "</body></html>"
                // 将HTML代码写入新窗口中  
                newWindow.document.write(newContent);
                newWindow.print();
                // close layout stream 
                newWindow.document.close();
                //关闭打开的临时窗口
                newWindow.close();
                return false;
           };
		</script>
	</body>

</html>

关于HTML转Excel并实现打印,下载功能的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Excel转html(不带图片)
  2. JS实现div模块的截图并下载功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

html excel ce

上一篇:swing分割窗口控件JSplitPane使用方法详解

下一篇:html5中canvas图表如何实现柱状图

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》