浏览器将内容表格生成excel文件

注意点:

1.首先注意的是,只有ie浏览器支持这方面的调用。

2.其次需要ie浏览器放开权限,在安全设置里面打开ActiveX的支持。

3.最后是本机上需要有excel。

然后贴代码:

		//传入一个table的id,将table的全部内容导出excel文件
		function AutomateExcel(objTable) {
			// Start Excel and get Application object. 
			var oXL = new ActiveXObject("Excel.Application");
			// Get a new workbook. 
			var oWB = oXL.Workbooks.Add();
			var oSheet = oWB.ActiveSheet;
			var hang = objTable.rows.length;

			var lie = objTable.rows(0).cells.length;

			// Add table headers going cell by cell. 
			for(var i = 0; i < hang; i++) {
				for(var j = 0; j < lie; j++) {
					oSheet.Cells(i + 1, j + 1).value = objTable.rows(i).cells(j).innerText;
				}

			}
			oXL.Visible = true;
			oXL.UserControl = true;
		}
		AutomateExcel(table);
		//描述:将固定格式的xml文件导出excel文件
		//strXml:传入的xml字符串,一般为dataset直接getxml得到的就可以;
		//xmlField:要导入的字段和对应的中文名称,格式如下:
		//var xmlField="<FIELDLIST><TITLE>主题</TITLE><KEYWORD>关键词</KEYWORD><TYPE>报题来源</TYPE><CREATE_DATE>创建日期</CREATE_DATE><COLUMN_NAME>所属栏目</COLUMN_NAME></FIELDLIST>";
		function ExpXmlToExcel(strXml, xmlField) {
			//导入xml字符串
			var xmlDoc = new XmlDoc();
			xmlDoc.loadXML(strXml);
			var nodesList = xmlDoc.documentElement.childNodes;

			//导入字段列表;
			var xmlDocField = new XmlDoc();
			xmlDocField.loadXML(xmlField);
			var fieldList = xmlDocField.documentElement.childNodes;

			// Start Excel and get Application object. 
			var oXL = new ActiveXObject("Excel.Application");
			// Get a new workbook. 
			var oWB = oXL.Workbooks.Add();
			var oSheet = oWB.ActiveSheet;
			var hang = nodesList.length;
			var lie = fieldList.length;
			//插入表头

			for(var j = 0; j < lie; j++) {
				oSheet.Cells(1, j + 1).value = fieldList[j].text;
			}

			// Add table headers going cell by cell. 
			for(var i = 0; i < hang; i++) {
				for(var j = 0; j < lie; j++) {
					oSheet.Cells(i + 2, j + 1).value = nodesList[i].selectSingleNode(fieldList[j].nodeName).text;
				}
			}
			oXL.Visible = true;
			oXL.UserControl = true;
		}

		//指定页面区域内容导入Word
		//eDiv:要导出具体内容的div
		function ExpHtmlToWord(eDiv) {
			var oWD = new ActiveXObject("Word.Application");
			var oDC = oWD.Documents.Add("", 0, 1);
			var oRange = oDC.Range(0, 1);
			var sel = document.body.createTextRange();

			sel.moveToElementText(eDiv);
			sel.select();
			sel.execCommand("Copy");
			oRange.Paste();
			oWD.Application.Visible = true;
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值