当前位置:   article > 正文

【前端工具】使用JS实现一个Excel报表导出工具包,支持导出大数据量(5种方法总结)_tolargercsv

tolargercsv

方法一:ActiveXObject的导出方式

//第一种方法
function method1(tableid) {
   

    var curTbl = document.getElementById(tableid);
    var oXL = new ActiveXObject("Excel.Application");
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    var sel = document.body.createTextRange();
    sel.moveToElementText(curTbl);
    sel.select();
    sel.execCommand("Copy");
    oSheet.Paste();
    oXL.Visible = true;

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
//第二种方法
function method2(tableid) {
   
    var curTbl = document.getElementById(tableid);
    var oXL = new ActiveXObject("Excel.Application");
    var oWB = oXL.Workbooks.Add();
    var oSheet = oWB.ActiveSheet;
    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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

上面的代码优化

//第三种方法
 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 {
   

             alert("你要导出的表不存在");
             return;
         }
         var fileName = getExcelFileName();
         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) {
   
         
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号