JS将表格导出excel

需要使用activex,如下代码将 score_table 导出,似乎不用指定版本,任意版本的excel都可以导出。

function SaveAsExcel()
{
    var objTab=document.getElementById("score_table");
    try
    {
        var xls = new ActiveXObject("Excel.Application");
    }
    catch(e)
    {
        alert("要保存为excel,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX控件”");
        return;
    }
    xls.visible=false;
    var xlBook=xls.Workbooks.Add;
    var xlsheet=xlBook.Worksheets(1);
    var x=1;
    var y=1;
    for(var i=0; i<objTab.rows.length; i++)
    {
        y=1;
        for(var j=0; j<objTab.rows[i].cells.length; j++)
        {
            xlsheet.Cells(x,y).Value=objTab.rows[i].cells[j].innerText;
            xlsheet.Cells(x,y).Borders.LineStyle=1;
            y++;
        }
        x++;
    }
    xlsheet.Columns.AutoFit; //自动适应大小
    try
    {
        var fileSave = new ActiveXObject("MSComDlg.CommonDialog");
        fileSave.Filter=".xls";
        fileSave.FilterIndex=2;
        fileSave.MaxFileSize=128;
        fileSave.ShowSave();
        var savepath=fileSave.FileName+'.xls';
        xlsheet.SaveAs(savepath);
        window.status="Saving as excel to "+savepath+" Success!!!";
    }
    catch(e)
    {
        window.status="call save file dialog failed.";
    }
    xlsheet.Application.Quit();
    return;
}

完整html:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk"/>
<title></title>
<style type="text/css">
body
{
    overflow:auto
}
</style>
<script type="text/javascript">
function SaveAsExcel()
{
    var objTab=document.getElementById("score_table");
    try
    {
        var xls = new ActiveXObject("Excel.Application");
    }
    catch(e)
    {
        alert("要保存为excel,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX控件”");
        return;
    }
    xls.visible=false;
    var xlBook=xls.Workbooks.Add;
    var xlsheet=xlBook.Worksheets(1);
    var x=1;
    var y=1;
    for(var i=0; i<objTab.rows.length; i++)
    {
        y=1;
        for(var j=0; j<objTab.rows[i].cells.length; j++)
        {
            xlsheet.Cells(x,y).Value=objTab.rows[i].cells[j].innerText;
            xlsheet.Cells(x,y).Borders.LineStyle=1;
            y++;
        }
        x++;
    }
    xlsheet.Columns.AutoFit; //自动适应大小
    try
    {
        var fileSave = new ActiveXObject("MSComDlg.CommonDialog");
        fileSave.Filter=".xls";
        fileSave.FilterIndex=2;
        fileSave.MaxFileSize=128;
        fileSave.ShowSave();
        var savepath=fileSave.FileName+'.xls';
        xlsheet.SaveAs(savepath);
        window.status="Saving as excel to "+savepath+" Success!!!";
    }
    catch(e)
    {
        window.status="call save file dialog failed.";
    }
    xlsheet.Application.Quit();
    return;
}
</script>
</head>
<body>
<br>
<center>
<table id=score_table border="1px">
<tr>
<td>学生\题目</td>
<td>第1题</td>
<td>第2题</td>
<td>第3题</td>
<td>第4题</td>
</tr>
<tr>
<td><a href="answer_1.htm" target="answer"><b>学生1:</b></a></td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
</tr>
</table>
</center><input type=button style="visibility:hidden;" id=save_excel onclick="SaveAsExcel();"
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值