CSV 文件无法在 Excel 中使用 ngCsv 正确打开
CSV file does not open correctly in Excel with ngCsv
我遇到了 ng-csv 模块的问题,我想我会分享。
ng-csv 模块采用 javascript object,并将其转换为可下载的 .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>
可能会出现问题,就像我的代码一样,如果您的 header object 以 ID 列开头,如下所示:
$scope.getHeader = function () {return ["ID","A", "B"]};
Excel 表示这是一种错误的文件格式,有时会出现 UI 问题。
原因是 Excel 不喜欢以大写 ID 开头的 csv 文件,根据此来源:Microsoft Support
将 header 更改为:
$scope.getHeader = function () {return ["id","A", "B"]};
解决了这个问题。
Excel 不喜欢以大写 ID 开头的 .csv 文件。
我遇到了 ng-csv 模块的问题,我想我会分享。
ng-csv 模块采用 javascript object,并将其转换为可下载的 .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>
可能会出现问题,就像我的代码一样,如果您的 header object 以 ID 列开头,如下所示:
$scope.getHeader = function () {return ["ID","A", "B"]};
Excel 表示这是一种错误的文件格式,有时会出现 UI 问题。
原因是 Excel 不喜欢以大写 ID 开头的 csv 文件,根据此来源:Microsoft Support
将 header 更改为:
$scope.getHeader = function () {return ["id","A", "B"]};
解决了这个问题。
Excel 不喜欢以大写 ID 开头的 .csv 文件。