日期:2014-05-16  浏览次数:20356 次

IE浏览器使用JS技术导出到Excel和打印

          在一些要求不是很高的小项目中,可以使用一些虽不是通用且不是新技术但是确实可以很好实现功能的技术来实现这些功能。这样系统不是显示的很复杂,且可以方便维护。下面就简单介绍一种技术,可以使用简单的JS来实现把网页中的信息原样导出到Excel、还可以打印。

 

        新建一个exportPrint.html页面,里面的代码如下所示,就可以实现导出到Excel和打印网页。

<html>
	<head>
		<title>IE浏览器使用JS技术导出到Excel和打印</title>
		<style>
			.table_stat {
				border-right:0px;
				border-bottom:0px;
				border-left:1px solid #819BD8;
				border-top:1px solid #819BD8;
			}
			.td_stat {
				border-right:1px solid #819BD8;
				border-bottom:1px solid #819BD8;
			}
		</style>
	</head>
	<body>
		<object classid="CLSID:8856F961-340A-11DO-A96B-00C04FD705A2" height="0" id="WebBrowser" width="0"></object>
		<table width="100%" align="center" border="0" cellpadding="0" cellspacing="0" style="text-align: center;" class="table_stat">
			<tr>
				<td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="2">
					用户信息
				</td>
			</tr>
			<tr>
				<td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="1">
					姓名
				</td>
				<td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="1">
					张三
				</td>
			</tr>
			
			<tr>
				<td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="2">
					<input type="button" id="export" value="导出" onclick="javascript:exportToExcel();" >
					<input type="button" id="print" value="打印" onclick="javascript:print();" >
				</td>
			</tr>
		</table>
	</body>
</html>

<script type="text/javaScript">
	//导出到Excel
	function exportToExcel() {
		if(document.getElementById("title")) {
			try {
				var oRangeRef = document.body.createTextRange();
				oRangeRef.execCommand("Copy");
				var appExcel = new ActiveXObject("Excel.Application");
				appExcel.visible = true;
				appExcel.Workbooks.Add().WorkSheets.Item(1).Paste();
			} catch(e) {
				alert("出错啦!可能是浏览器或者是数据量太大咯哦!");
				return;
			}
			appExcel = null;
			oRangeRef = null;
		}
	}
	
	//打印
	function print() {
		if(document.getElementById("title")) {
			var export = document.getElementById("export");
			var print = document.getElementById("print");
			try {
				export.style.display = "none";
				print.style.display = "none";
				document.all.WebBrowser.ExecWB(6,1);
			} catch(e) {
				alert("出错啦!可能是浏览器或者是数据量太大咯哦!");
				return;
			}
			export.style.display = "";
			print.style.display = "";
		}
	}
</script>
1楼llhhyy19894天前 22:08
很好的例子
Re: lanpiao_874天前 09:44
回复llhhyy1989n谢谢!在为自己家里的领导做家庭管理系统的时候使用了这些小技术,还不错就拿来分享下。