JS导出Table为excel的三种可行性方案

JS <wbr>导出Table为excel的三种可行方法

 
 
function method1(tableid) {//整个表格拷贝到EXCEL中  
    var curTbl= document.getElementByIdx_x(tableid);  
    var oXL =new ActiveXObject("Excel.Application");  
   //创建AX对象excel  
    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可见属性  
 
function method2(tableid) //读取表格中每个单元到EXCEL中  
 
    var curTbl= document.getElementByIdx_x(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 =  444444 ;  
          //赋值  
       
    
   oXL.Visible = true;  
   //设置excel可见属性  
 
function getXlsFromTbl(inTblId, inWindow) {  
    try {  
       var allStr = "";  
       var curStr = "";  
       //;  
       if (inTblId != null&& inTblId != "" && inTblId != "null") {  
          curStr = getTblData(inTblId, inWindow);  
       
       if (curStr != null) {  
          allStr += curStr;  
       
       else {  
          
          return;  
       
       var fileName =getExcelFileName();  
       doFileExport(fileName,allStr);   
    
    catch(e) {  
       alert("导出发生异常:" + e.name +"->" + e.description + "!");  
    
 
function getTblData(inTbl, inWindow) {  
    var rows =0;   
   //;  
    vartblDocument = document;  
    if(!!inWindow && inWindow != "") {  
       if (!document.all(inWindow)){   
          return null;  
       
       else {  
          tblDocument = eval_r(inWindow).document;  
       
    
    var curTbl= tbldocument.getElementByIdx_x(inTbl);  
    var outStr= "";   
    if (curTbl!= null) {   
       for (var j = 0; j <curTbl.rows.length; j++) {  
          //;  
          for (var i = 0; i <curTbl.rows[j].cells.length; i++) {  
              //alert("iis " + 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;  
       
    
    returnoutStr;   
 
function getExcelFileName() {  
    var d =new Date();  
    varcurYear = d.getYear();  
    varcurMonth = "" + (d.getMonth() + 1);  
    varcurDate = "" + d.getDate();  
    varcurHour = "" + d.getHours();  
    varcurMinute = "" + d.getMinutes();  
    varcurSecond = "" + d.getSeconds();  
    if(curMonth.length == 1) {  
       curMonth = "0" + curMonth;  
    
    if(curDate.length == 1) {  
       curDate = "0" + curDate;  
    
    if(curHour.length == 1) {  
       curHour = "0" + curHour;  
    
    if(curMinute.length == 1) {  
       curMinute = "0" + curMinute;  
    
    if(curSecond.length == 1) {  
       curSecond = "0" + curSecond;  
    
    varfileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_"  
          + curHour + curMinute + curSecond + ".csv";  
   //;  
    returnfileName;   
 
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();  
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值