用js导出数据到Excel文档

来源:互联网 发布:isv软件 编辑:程序博客网 时间:2024/05/22 17:16

<script type="text/javascript">

/**

 *  读取表格中每个单元内容到EXCEL

 *  author: martin

 */

function toExcel(tableid) {

    //检索浏览器

    if(navigator.userAgent.indexOf("MSIE") < 0){ 

        alert('请用ie浏览器进行表格导出!'); 

        return; 

    } 

    var curTbl = document.getElementById(tableid);

    var oXL = null; 

    try { 

        oXL = GetObject("", "Excel.Application"); 

    }catch(E){

        try { 

            oXL = new ActiveXObject("Excel.Application"); 

        }catch(E2) { 

          alert("无法启动Excel/n/n请调整IE浏览器的安全级别。"); 

            window.location.reload(true);

            return; 

       } 

    } 

 

    var oWB = oXL.Workbooks.Add();          //创建AX对象excel 

    var oSheet = oWB.ActiveSheet;           //获取workbook对象

    //定义行高

    oSheet.Rows(1+":"+1).RowHeight = 40;             

    //定义列宽 

    oSheet.Columns('A:A').ColumnWidth = 0; 

    oSheet.Columns('B:B').ColumnWidth = 4; 

    oSheet.Columns('C:C').ColumnWidth = 10; 

    oSheet.Columns('D:D').ColumnWidth = 4; 

    oSheet.Columns('E:E').ColumnWidth = 11; 

    oSheet.Columns('F:F').ColumnWidth = 30; 

    oSheet.Columns('G:G').ColumnWidth = 5; 

    //定义对齐方式

    oSheet.Rows(1).HorizontalAlignment = 3;

 

    /* //指定页面区域内容导入Excel

    var sel = document.body.createTextRange();      //激活当前sheet  

    sel.moveToElementText(curTbl);                 //把页面区域内容移到TextRange 

    sel.select();                                //全选TextRange中内容  

    sel.execCommand("Copy");                     //复制内容  

    oSheet.Paste();                           //粘贴到活动的EXCEL  

    oXL.Visible = true;                        //设置excel可见 

    oSheet.Application.Quit();                  //结束当前进程  */

 

    //指定页面区域"单元格"内容导入Excel

    var Lenr = curTbl.rows.length;                  //取得表格行数

    for(i=0; i<Lenr; i++){

        var Lenc = curTbl.rows(i).cells.length;        //取得每行的列数

        for(j=0; j<Lenc; j++){

        oSheet.Cells(i+1,j+1).value = "'" + curTbl.rows(i).cells(j).innerText;  //赋值

         }

    }

    oXL.Visible = true;

}

 

</script>

-------------------------------------程序调用-----------------------------------

<table id="tableExcel" align="center">*************</table>

<button onclick="toExcel('tableExcel')">生成Excel报表</button>

 

原创粉丝点击