<script type="text/javascript" language="javascript">
function getXlsFromTbl(inTblId, inWindow) {
    try {
        var allStr = "";
        var curStr = "";
        //alert(inTblId);
        debugger;
        if (inTblId != null && inTblId != "" && inTblId != "null") {
            curStr = getTblData(inTblId, inWindow);
        }
        if (curStr != null) {
            allStr += curStr;
        }
        else {
            alert("你要导出的表不存在!");
            return;
        }
        var fileName = "123.xls";
        doFileExport(fileName, allStr);
    }
    catch(e) {
        alert("导出发生异常:" + e.name + "->" + e.description + "!");
    }
}
function getTblData(inTbl, inWindow) {
    var rows = 0;
    var tblDocument = document;
    if (!!inWindow && inWindow != "") {
        if (!document.all(inWindow)) {
            return null;
        }
        else {
            tblDocument = eval(inWindow).document;
        }
    }
    var curTbl = tblDocument.getElementById(inTbl);
    var outStr = "";
    if (curTbl != null) {
       for (var j = 0; j < curTbl.rows.length; j++) {
            //alert("j is " + j);
            for (var i = 0; i < curTbl.rows[j].cells.length; i++) {
                //alert("i is " + i);
                if (i == 0 && rows > 0) {
                    outStr += " \t";
                    rows -= 1;
                }
                outStr += curTbl.rows[j].cells[i].innerText + "\t";
                if (curTbl.rows[j].cells[i].colSpan > 1) {
                    for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
                        outStr += " \t";
                    }
                }
                if (i == 0) {
                    if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
                        rows = curTbl.rows[j].cells[i].rowSpan - 1;
                    }
                }
            }
            outStr += "\r\n";
        }
    }
    else {
        outStr = null;
        alert(inTbl + "不存在!");
    }
    return outStr;
}
function doFileExport(inName, inStr) {
    var xlsWin = null;
    if (!!document.all("glbHideFrm")) {
        xlsWin = glbHideFrm;
    }
    else {
        var width = 6;
        var height = 4;
        var openPara = "left=" + (window.screen.width / 2 - width / 2)
                + ",top=" + (window.screen.height / 2 - height / 2)
                + ",scrollbars=no,width=" + width + ",height=" + height;
        xlsWin = window.open("", "_blank", openPara);
    }
    xlsWin.document.write(inStr);
    xlsWin.document.close();
    xlsWin.document.execCommand('Saveas', true, inName);
    xlsWin.close();
}
</script>

解决方案 »

  1.   

    我需要导出的是写在Label里面的一个表单。请各位大神帮忙看看啊!
      

  2.   


        <html xmlns="http://www.w3.org/1999/xhtml">  
        <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
        <title>综合信息管理系统 行政管理 安全检查  归档信息 列表</title>  
        <link href="../../resources/css/stlye.css" rel="stylesheet" type="text/css" />  

        <style type="text/css">  
        body {  
            margin-top: 10px;  
            margin-bottom: 5px;  
            margin-left: 5px;  
            margin-right: 5px;  
        }  
        </style>  
        <body>  
        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">  
          <tr>  
            <td height="30" align="left" class="zibold13">当前位置:行政管理 >> 安全检查 >> <a href="aqGuidang.html">归档信息</a> >> 列表</td>  
          </tr>  
        </table>  
        <table width="90%" align="center" border="0" cellpadding="0" cellspacing="0" class="neikuangtop">  
          <tr>  
            <td width="7%" height="30" align="right" class="left_line">时间:</td>  
            <td width="15%" align="left"><input name="textfield" type="text" value="2006-09-18" size="15" height="16"></td>  
            <td width="3%" align="right">至</td>  
            <td width="55%" align="left"><input name="textfield2" type="text" value="2007-09-20" size="15" height="16" /></td>  
            <td width="10%" align="right" style="padding-right:10px;"><input type="button" name="Submit" value="查询" onclick="javascript:location.href='#';" /></td>  
            <td width="10%" align="left" style="padding-left:10px;"><input type="button" name="Submit3" value="查询统计" onclick="javascript:location.href='aqJiancha_Search.html';" /></td>  
          </tr>  
        </table>  
        <table id="table1" width="90%" border="0" align="center" cellpadding="0" cellspacing="0" class="waikuang">  
          <tr>  
            <td width="6%" height="27" align="center" class="neikuangbold">序号</td>  
            <td width="10%" align="center" class="neikuangbold">时间</td>  
            <td width="20%" align="center" class="neikuangbold">单位</td>  
            <td width="18%" align="center" class="neikuangbold">项目</td>  
            <td width="10%" align="center" class="neikuangbold">结果等级</td>  
            <td width="10%" align="center" class="neikuangbold">检查机关</td>  
            <td width="8%" align="center" class="neikuangbold">记录人</td>  
            <td width="12%" align="center" class="neikuangbold">记录时间</td>  
            <td width="6%" align="center" class="neikuangbold">查看</td>  
          </tr>  
          <tr>  
            <td height="21" align="center" class="neikuang">1</td>  
            <td align="center" class="neikuang">1980-02-02</td>  
            <td align="center" class="neikuang">武警总队</td>  
            <td align="center" class="neikuang">安全用电检查</td>  
            <td align="center" class="neikuang">2222222</td>  
            <td align="center" class="neikuang">总部</td>  
            <td align="center" class="neikuang">主席</td>  
            <td align="center" class="neikuang">1980-02-02</td>  
            <td align="center" class="neikuang"><a href="aqChakanShow.html">查看</a></td>  
          </tr>  
          <tr>  
            <td height="21" align="center" class="neikuang">2</td>  
            <td align="center" class="neikuang">1980-02-02</td>  
            <td align="center" class="neikuang">武警总队</td>  
            <td align="center" class="neikuang">安全用电检查</td>  
            <td align="center" class="neikuang">2222222</td>  
            <td align="center" class="neikuang">总部</td>  
            <td align="center" class="neikuang">总理</td>  
            <td align="center" class="neikuang">1980-02-02</td>  
            <td align="center" class="neikuang"><a href="aqChakanShow.html">查看</a></td>  
          </tr>  
          </table>  
        <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">  
          <tr>  
            <td height="25" align="right">首页 | 上一页 | 下一页 | 尾页</td>  
          </tr>  
        </table>  
        <table width="90%" align="center" border="0" cellpadding="0" cellspacing="0">  
          <tr>  
            <td width="50%" height="30" align="right" valign="bottom" style="padding-right:10px;"><input type="submit" name="Submit2" onclick="preview()" value="打印当前页" class="waikuang" ></td>  
            <td width="50%" align="left" valign="bottom" style="padding-left:10px;"><input type="submit" name="Submit22" value="打印所有页"></td>  
          </tr>  
        </table>
    <script language="javascript">  
    function preview() { 
    window.clipboardData.setData("Text",document.all('table1').outerHTML);  
    try{  
    var ExApp = new ActiveXObject("Excel.Application")  
    var ExWBk = ExApp.workbooks.add()  
    var ExWSh = ExWBk.worksheets(1)  
    ExApp.DisplayAlerts = false  
    ExApp.visible = true  
    }    
    catch(e)  
    {  
    alert("您的电脑没有安装Microsoft Excel软件!")  
    return false;
    }   
     ExWBk.worksheets(1).Paste;   
     }  
    </script> 
        </body>  
          
        </html>  
      

  3.   

    不过好像火狐之类的都不会支持object哎,所以尽量避免这样使用吧,,。
      

  4.   

    就是用IE啦,我的TABLE是写在一个LABLE里面的,因为里面所有数据都是从数据库里面读的。有人试过没?有什么号方法啊???
      

  5.   

    一般,都是从数据库获取数据,直接写到服务器以流的形式提供给用户下载,保存成 .xls
      

  6.   

    Javascript导出Excel的方法 
    1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      2"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      3<html xmlns="http://www.w3.org/1999/xhtml"> 
      4<head> 
      5    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 
      6    <title>WEB页面导出为EXCEL文档的方法</title> 
      7</head> 
      8<body> 
      9<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> 
     10    <tr> 
     11        <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td> 
     12    </tr> 
     13    <tr> 
     14        <td>列标题1</td> 
     15        <td>列标题2</td> 
     16        <td>列标题3</td> 
     17        <td>列标题4</td> 
     18        <td>列标题5</td> 
     19    </tr> 
     20    <tr> 
     21        <td>aaa</td> 
     22        <td>bbb</td> 
     23        <td>ccc</td> 
     24        <td>ddd</td> 
     25        <td>eee</td> 
     26    </tr> 
     27    <tr> 
     28        <td>AAA</td> 
     29        <td>BBB</td> 
     30        <td>CCC</td> 
     31        <td>DDD</td> 
     32        <td>EEE</td> 
     33    </tr> 
     34    <tr> 
     35        <td>FFF</td> 
     36        <td>GGG</td> 
     37        <td>HHH</td> 
     38        <td>III</td> 
     39        <td>JJJ</td> 
     40    </tr>  
     41</table> 
     42<input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL"> 
     43<input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL"> 
     44<input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL"> 
     45<SCRIPT LANGUAGE="javascript"> 
     46function method1(tableid) {//整个表格拷贝到EXCEL中 
     47    var curTbl = document.getElementById(tableid); 
     48    var oXL = new ActiveXObject("Excel.Application"); 
     49    //创建AX对象excel 
     50    var oWB = oXL.Workbooks.Add(); 
     51    //获取workbook对象 
     52        var oSheet = oWB.ActiveSheet; 
     53    //激活当前sheet 
     54    var sel = document.body.createTextRange(); 
     55    sel.moveToElementText(curTbl); 
     56    //把表格中的内容移到TextRange中 
     57    sel.select(); 
     58    //全选TextRange中内容 
     59    sel.execCommand("Copy"); 
     60    //复制TextRange中内容  
     61    oSheet.Paste(); 
     62    //粘贴到活动的EXCEL中       
     63    oXL.Visible = true; 
     64    //设置excel可见属性 
     65} 
     66function method2(tableid) //读取表格中每个单元到EXCEL中 
     67{ 
     68    var curTbl = document.getElementById(tableid); 
     69    var oXL = new ActiveXObject("Excel.Application"); 
     70    //创建AX对象excel 
     71    var oWB = oXL.Workbooks.Add(); 
     72    //获取workbook对象 
     73    var oSheet = oWB.ActiveSheet; 
     74    //激活当前sheet 
     75    var Lenr = curTbl.rows.length; 
     76    //取得表格行数 
     77    for (i = 0; i < Lenr; i++) 
     78    { 
     79        var Lenc = curTbl.rows(i).cells.length; 
     80        //取得每行的列数 
     81        for (j = 0; j < Lenc; j++) 
     82        { 
     83            oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; 
     84            //赋值 
     85        } 
     86    } 
     87    oXL.Visible = true; 
     88    //设置excel可见属性 
     89} 
     90function getXlsFromTbl(inTblId, inWindow) { 
     91    try { 
     92        var allStr = ""; 
     93        var curStr = ""; 
     94        //alert("getXlsFromTbl"); 
     95        if (inTblId != null && inTblId != "" && inTblId != "null") { 
     96            curStr = getTblData(inTblId, inWindow); 
     97        } 
     98        if (curStr != null) { 
     99            allStr += curStr; 
    100        } 
    101        else { 
    102            alert("你要导出的表不存在!"); 
    103            return; 
    104        } 
    105        var fileName = getExcelFileName(); 
    106        doFileExport(fileName, allStr); 
    107    } 
    108    catch(e) { 
    109        alert("导出发生异常:" + e.name + "->" + e.description + "!"); 
    110    } 
    111} 
    112function getTblData(inTbl, inWindow) { 
    113    var rows = 0; 
    114    //alert("getTblData is " + inWindow); 
    115    var tblDocument = document; 
    116    if (!!inWindow && inWindow != "") { 
    117        if (!document.all(inWindow)) { 
    118            return null; 
    119        } 
    120        else { 
    121            tblDocument = eval(inWindow).document; 
    122        } 
    123    } 
    124    var curTbl = tblDocument.getElementById(inTbl); 
    125    var outStr = ""; 
    126    if (curTbl != null) { 
    127        for (var j = 0; j < curTbl.rows.length; j++) { 
    128            //alert("j is " + j); 
    129            for (var i = 0; i < curTbl.rows[j].cells.length; i++) { 
    130                //alert("i is " + i); 
    131                if (i == 0 && rows > 0) { 
    132                    outStr += " \t"; 
    133                    rows -= 1; 
    134                } 
    135                outStr += curTbl.rows[j].cells[i].innerText + "\t"; 
    136                if (curTbl.rows[j].cells[i].colSpan > 1) { 
    137                    for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) { 
    138                        outStr += " \t"; 
    139                    } 
    140                } 
    141                if (i == 0) { 
    142                    if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) { 
    143                        rows = curTbl.rows[j].cells[i].rowSpan - 1; 
    144                    } 
    145                } 
    146            } 
    147            outStr += "\r\n"; 
    148        } 
    149    } 
    150    else { 
    151        outStr = null; 
    152        alert(inTbl + "不存在!"); 
    153    } 
    154    return outStr; 
    155} 
    156function getExcelFileName() { 
    157    var d = new Date(); 
    158    var curYear = d.getYear(); 
    159    var curMonth = "" + (d.getMonth() + 1); 
    160    var curDate = "" + d.getDate(); 
    161    var curHour = "" + d.getHours(); 
    162    var curMinute = "" + d.getMinutes(); 
    163    var curSecond = "" + d.getSeconds(); 
    164    if (curMonth.length == 1) { 
    165        curMonth = "0" + curMonth; 
    166    } 
    167    if (curDate.length == 1) { 
    168        curDate = "0" + curDate; 
    169    } 
    170    if (curHour.length == 1) { 
    171        curHour = "0" + curHour; 
    172    } 
    173    if (curMinute.length == 1) { 
    174        curMinute = "0" + curMinute; 
    175    } 
    176    if (curSecond.length == 1) { 
    177        curSecond = "0" + curSecond; 
    178    } 
    179    var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" 
    180            + curHour + curMinute + curSecond + ".csv"; 
    181    //alert(fileName); 
    182    return fileName; 
    183} 
    184function doFileExport(inName, inStr) { 
    185    var xlsWin = null; 
    186    if (!!document.all("glbHideFrm")) { 
    187        xlsWin = glbHideFrm; 
    188    } 
    189    else { 
    190        var width = 6; 
    191        var height = 4; 
    192        var openPara = "left=" + (window.screen.width / 2 - width / 2) 
    193                + ",top=" + (window.screen.height / 2 - height / 2) 
    194                + ",scrollbars=no,width=" + width + ",height=" + height; 
    195        xlsWin = window.open("", "_blank", openPara); 
    196    } 
    197    xlsWin.document.write(inStr); 
    198    xlsWin.document.close(); 
    199    xlsWin.document.execCommand('Saveas', true, inName); 
    200    xlsWin.close(); 
    201} 
    202</SCRIPT> 
    203</body> 
    204</html>