加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

javascript实现table表格导出为excel文档的方法

[日期:2013-10-25] 作者: 来源: [字体: ]

客户端脚本JavaScript也可以直接将网页上的table表格导出成Excel表格并下载下来的。实现方法大体分两类:调用excel对象;使用Flash

1、调用客户端excel对象:这个方法导出的效果很好,都是原汁原味的excel文档,但是需要客户端电脑安装excel程序,并要求浏览器执行权限。代码:

<!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"); 
    }catch(e){ 
        print("Nested catch caught " + e); 
    }finally{ 
        oWB.SaveAs(fname); 
 
        oWB.Close(savechanges=false); 
         //xls.visible = false; 
        oXL.Quit(); 
        oXL=null; 
         //结束excel进程,退出完成 
         //window.setInterval("Cleanup();",1); 
        idTmr = window.setInterval("Cleanup();",1); 
 
    } 

function Cleanup() { 
    window.clearInterval(idTmr); 
    CollectGarbage(); 
  } 
</SCRIPT> 
</body> 
</html> 

2、使用flash控件:这种方法必须依托flash的功能来实现文档的导出,甚至可以支持pdf格式的文档导出。推荐使用jQuery的插件dataTables,这是一个优秀的客户端表格插件,带有导出excel, pdf等功能。

演示网址:http://datatables.net/extras/tabletools/

关键词:导出  表格  文档  table 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (2)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 2 楼
* 匿名 发表于 2016/12/25 13:05:50
http://www.blue1000.com/bkhtml/c74/2010-12/69990.htm 道歉信 http://www.135995.com/m-daoqianxin/ 投诉信 http://www.135995.com/m-tousuxin/
第 1 楼
* 匿名 发表于 2016/12/24 13:03:11
http://www.blue1000.com/bkhtml/c74/2010-12/69990.htm 作文自己救自己 http://www.135995.com/details/zs1724.html 有关值日的作文 http://www.135995.com/details/zs1725.html