js实现html表格导出到excel

//将table导出到excel中
        function exportToExcel(tableid){
       var curTbl = document.getElementById(tableid);
       var oXL;
       try{
                oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel 
       }catch(e){
                alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");
                return false;
       }
       var oWB = oXL.Workbooks.Add(); //获取workbook对象
       var oSheet = oWB.ActiveSheet;//激活当前sheet 
       var sel = document.body.createTextRange();
       sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中
       sel.select(); //全选TextRange中内容 
       sel.execCommand("Copy");//复制TextRange中内容 
       oSheet.Paste();//粘贴到活动的EXCEL中
       oXL.Visible = true; //设置excel可见属性
       var fname = oXL.Application.GetSaveAsFilename("将table导出到excel.xls", "Excel Spreadsheets (*.xls), *.xls");
       oWB.SaveAs(fname);
       oWB.Close();
       oXL.Quit();
        }




function method2(tableid) //读取表格中每个单元到EXCEL中 

    var curTbl = document.getElementById(tableid); 
     var oXL = new ActiveXObject("Excel.Application"); 
     //创建AX对象excel 
     var oWB = oXL.Workbooks.Add(); 
     //获取workbook对象 
    var oSheet = oWB.ActiveSheet; 
    //激活当前sheet 
     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; 
     //设置excel可见属性 
}



<input type="button" οnclick="javascript:method1('TableExcel');" value="第一种方法导入到EXCEL"> 
<input type="button" οnclick="javascript:method2('TableExcel');" value="第二种方法导入到EXCEL">


但是这种方法存在几个缺陷
缺点(1):
客户端机器上 必须安装了excel,否则会出错。
缺点(2):
必须修改浏览器的默认设置。设置方法为:
工具->Internet选项->安全->自定义级别-> 对没有标记安全级别的ActiveX控件进行初始化   
  设为启用 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以使用 JavaScript 库 `TableExport` 来实现HTML 表格导出Excel 的功能。下面是具体的实现步骤: 1. 在 HTML 页面中引入 `TableExport` 库: ```html <script src="https://cdn.bootcdn.net/ajax/libs/TableExport/5.2.0/js/tableexport.min.js"></script> ``` 2. 添加一个按钮,点击该按钮可以触发导出 Excel 的操作: ```html <button id="export-btn">导出 Excel</button> ``` 3. 使用 JavaScript 代码初始化 `TableExport`: ```javascript // 获取要导出的表格 var table = document.getElementById("table-id"); // 初始化 TableExport var exportTable = TableExport(table, { formats: ['xlsx'], // 仅支持导出 xlsx 格式 filename: 'table-export', // 导出的文件名 sheetname: 'Sheet1', // 导出的工作表名 }); // 绑定按钮点击事件 var exportBtn = document.getElementById("export-btn"); exportBtn.addEventListener("click", function() { exportTable.exportToXLSX(); // 导出 Excel }); ``` 4. 完整的 HTML 代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>导出表格到 Excel</title> <script src="https://cdn.bootcdn.net/ajax/libs/TableExport/5.2.0/js/tableexport.min.js"></script> </head> <body> <table id="table-id"> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>18</td> <td>男</td> </tr> <tr> <td>李四</td> <td>20</td> <td>女</td> </tr> <tr> <td>王五</td> <td>22</td> <td>男</td> </tr> </tbody> </table> <button id="export-btn">导出 Excel</button> <script> var table = document.getElementById("table-id"); var exportTable = TableExport(table, { formats: ['xlsx'], filename: 'table-export', sheetname: 'Sheet1', }); var exportBtn = document.getElementById("export-btn"); exportBtn.addEventListener("click", function() { exportTable.exportToXLSX(); }); </script> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值