2017-07-20 23 views
-2

を使用してHTMLテーブルをxlsに変換する必要があるFileSaver.jsを使用しています。HTMLテーブルをxls(Excel)に変換する方法

すべてのブラウザで問題なく動作しますが、iOSデバイスで問題はありません。

代替ソリューションまたは使用できるその他のプラグインはありますか?

答えて

0

GithubのGistは、HTMLテーブルをMicrosoft Excelにエクスポートする方法を示しています。

myApp.factory('Excel',function($window){ 
    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><!--[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 { 
      tableToExcel:function(tableId,worksheetName){ 
       var table=$(tableId), 
        ctx={worksheet:worksheetName,table:table.html()}, 
        href=uri+base64(format(template,ctx)); 
       return href; 
      } 
     }; 
    }) 
    .controller('MyCtrl',function(Excel,$timeout){ 
     $scope.exportToExcel=function(tableId){ // ex: '#my-table' 
      $scope.exportHref=Excel.tableToExcel(tableId,'sheet name'); 
      $timeout(function(){location.href=$scope.fileData.exportHref;},100); // trigger download 
    } 
}); 

そして、このような例のためにそれを呼び出す:

<button class="btn btn-link" ng-click="exportToExcel('#table1')">  
    <span class="glyphicon glyphicon-share"></span> Export to Excel 
</button> 
関連する問題