2017-08-21 5 views
0

私は次のメソッドを使用しましたが、それはあなたは、サーバー上のファイルを作成したいとAJAXコールやWebSocketを介して、それを提供するかもしれないjs export excelを使用すると何万個ものデータが得られますが、どうすればよいですか?

export = (function() { 
      var uri = 'data:application/vnd.ms-excel;base64,' 
       , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>' 
       , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) ;} 
       , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }); }; 
     return function(table, name,filename) { 
      if (!table.nodeType) table = document.getElementById(table); 
      var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}; 
      // window.location.href = uri + base64(format(template, ctx)); 
      document.getElementById("dlink").href = uri + base64(format(template, ctx)); 
      document.getElementById("dlink").download = "finame"; 
      document.getElementById("dlink").click(); 
     }; 
    })(); 
+0

あなたは何からExcelにエクスポートしたいですか? – Sand

+0

ページの一覧から – qiang

答えて

1

に適合していません。

主な問題は、クライアントはすべてのデータを解析しなければならず、クライアントによってはかなり遅く/重いことがあるということです。

テーブルがページングされている場合、テーブルを1つの大きな結果セットに解析するには、すべてのページを手動で選択する必要があります。

Excel's Specificationsによると、Excel 2007以降では、ブックご​​とに1,048,576行が必要です。

+0

私のリストはページ番号 – qiang

+0

です。ファイルサーバー側を作成することをお勧めします。データを収集するためにすべてのページに移動したくありません。 – DarkMukke

+0

他に方法はありますか?私が使用しているフレームワークは角度 – qiang

関連する問題