2016-03-01 89 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