我遇到了ng-csv模块的问题,我想我会分享。
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
答案 0 :(得分:3)
将标题更改为:
$scope.getHeader = function () {return ["id","A", "B"]};
解决了这个问题。
Excel不喜欢以大写ID开头的.csv文件。