2016-03-01 155 views
1

我遇到了ng-csv模塊的問題,我想我會分享。CSV文件無法在Excel中使用ngCsv正確打開

ng-csv模塊接受一個javascript對象,並將其轉換爲可下載的.csv文件。

這裏,這裏顯示的示例代碼:ngmodules site

的顯著部分在這裏:

 <button class="btn btn-default" 
       ng-csv="getArray" lazy-load="true" filename="{{ filename }}.csv" field-separator="{{separator}}" 
       >Export to CSV (Lazy Load) 
     </button> 

這裏:

<script> 
     var myapp = angular.module('myapp', ["ngSanitize", "ngCsv"]); 

     myapp.controller('myctrl', function ($scope) { 
      $scope.filename = "test"; 
      $scope.getArray = [{a: 1, b:2}, {a:3, b:4}]; 

      $scope.addRandomRow = function() { 
      $scope.getArray.push({a: Math.floor((Math.random()*10)+1), b: Math.floor((Math.random()*10)+1)}); 
      }; 

      $scope.getHeader = function() {return ["A", "B"]}; 
     }); 
    </script> 

的問題可能會出現,就像它做了我代碼,其中如果您的標題對象以ID列開頭,如下所示:

$scope.getHeader = function() {return ["ID","A", "B"]}; 

Excel表示這是一種糟糕的文件格式,有時會出現UI問題。

的原因是,Excel不喜歡開頭的資本ID的CSV文件,根據該來源:Microsoft Support

回答

3

改變頭:

$scope.getHeader = function() {return ["id","A", "B"]}; 

修復了這個問題。

Excel不喜歡以大寫ID開頭的.csv文件。

+1

你讓我的一天+1 –

+0

很高興我能幫到你。 – Xgongiveittoya