2017-03-02 7 views
0

SOに関するほとんどすべての関連質問の回答を試した後、 私はまだそれを取得していません。指定された形式でCSVにエクスポート

HTMLファイル:

<li><a ng-click="exportToCsv('#total');"> 
<i class="fa fa-file-o mr-right7"></i>Export to CSV</a></li> 

コントローラファイル:コントローラファイル自体に

$scope.exportToCsv=function(tableId){ // ex: '#my-table' 
      $scope.exportHref=Csv.tableToExcel(tableId,'List'); 
      $timeout(function(){location.href=$scope.exportHref;},100); 

そして、私の機能。

gModule.factory('Csv',function($window){ 
     var uri='data:text/comma-separated-values;base64,', 
      template='<table>{table}</table>', 
      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; 
      } 
     }; 
}); 

私はcsv形式でテーブルにデータをエクスポートする必要がありますが、私は、全体ではなく、HTMLコードを取得しています。

この形式でのみ変更する必要があります。 ガイドしてください。多くのおかげです。

答えて

0

既存のフォーマットに関しては、をロールオーバーしないことが一般的には最も良いです。デリミタ、エスケープ、ヌル、ユニコードBOMなどのCSVファイルでは、すぐにはわかりにくいことがたくさんあります。すべての端の場合を既に処理している既存のライブラリを使用します。

ng-csvをご覧になることをお勧めします。

関連する問題