`
heichong
  • 浏览: 46135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript导出excel并弹出保存框(only IE)

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> 
    <title>WEB页面导出为EXCEL文档的方法</title> 
</head> 
<body> 
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> 
    <tr> 
        <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td> 
    </tr> 
    <tr> 
        <td>列标题1</td> 
        <td>列标题2</td> 
        <td>列标题3</td> 
        <td>列标题4</td> 
        <td>列标题5</td> 
    </tr> 
    <tr> 
        <td>aaa</td> 
        <td>bbb</td> 
        <td>ccc</td> 
        <td>ddd</td> 
        <td>eee</td> 
    </tr> 
    <tr> 
        <td><div>AAA</div></td> 
        <td>BBB</td> 
        <td>CCC</td> 
        <td>DDD</td> 
        <td>EEE</td> 
    </tr> 
    <tr> 
        <td>FFF</td> 
        <td>GGG</td> 
        <td>HHH</td> 
        <td>III</td> 
        <td>JJJ</td> 
    </tr>  
</table> 
<input type="button" onclick="javascript:method1('tableExcel');" value="导入到EXCEL"> 
<SCRIPT LANGUAGE="javascript"> 
var idTmr ;


function method1(tableid) {//整个表格拷贝到EXCEL中 

    var curTbl = document.getElementById(tableid); 
    var oXL = new ActiveXObject("Excel.Application"); 
    //创建AX对象excel 
    var oWB = oXL.Workbooks.Add(); 
    //获取workbook对象 
    var xlsheet = oWB.Worksheets(1);
    //激活当前sheet 
    var sel = document.body.createTextRange(); 
    sel.moveToElementText(curTbl); 
    //把表格中的内容移到TextRange中 
    sel.select(); 
    //全选TextRange中内容 
    sel.execCommand("Copy"); 
    //复制TextRange中内容  
    xlsheet.Paste(); 
    //粘贴到活动的EXCEL中       
    oXL.Visible = true; 
    //设置excel可见属性 

	try{
		var fname = oXL.Application.GetSaveAsFilename("save.xls", "Excel Spreadsheets (*.xls), *.xls");
		if(fname){
			oWB.SaveAs(fname);
		}
		
		
	}catch(e){
		print("Nested catch caught " + e);
	}finally{
		
		oWB.Close(savechanges=false);
		oXL.Quit();
		oXL=null;
		 //结束excel进程,退出完成
		idTmr = window.setInterval("Cleanup();",1);


	}
} 
function Cleanup() {
    window.clearInterval(idTmr);

    CollectGarbage();
  }
</SCRIPT> 
</body> 
</html> 


缺点是只支持IE,希望高人能找到更好的方法
2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics