将我的 ng-repeat 导出到 csv - 我做错了什么?
Export my ng-repeat to csv - what am I doing wrong?
我正在尝试创建这个在两个数组之后循环并将数据导出到 csv 的函数,它模拟两个嵌套的 ng-repeat table(第一个 ng-repeat 用于 headers,第二个用于数据)。
代码还不是很干净。
$scope.download = function () {
var headerarray =$scope.displayColumns;
var array1 = [];
var array2 = [];
for (i = 0; i < $scope.filteredObjects.length; i++) {
for (j = 0; j < $scope.displayColumns.length; j++) {
if(i===0 && j===0) {
array1.push(headerarray);
array2.push(array1);
console.log(array2)
var str = array2.join("\n")
var array1 = []
}
array1.push($scope.showColumnData($scope.filteredObjects[i], $scope.displayColumns[j]));
if (j === $scope.displayColumns.length - 1) {
array2.push(array1);
console.log(array2)
var str = array2.join("\n")
var array1 = []
}
}
}
console.log(str);
console.log(str.length);
var dl = new Blob([str], { type: 'text' });
saveAs(dl, "export.csv")
}
当我在 Excel:
中打开文件时,输出看起来不错
在 Ron 的 CSV 编辑器中,它看起来像这样:
在记事本中+
但是当我用纯记事本打开时,它是这样的一行:
恐怕我的 csv 格式不完全正确?有一些 Excel 和 Ron 正在识别的东西,但纯粹是记事本?
如果您希望换行符在记事本中正常显示,您必须使用 \r\n
而不是 \n
,因为它遵循 Microsoft 换行符格式。
您可以查看https://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications了解更多详情。
我正在尝试创建这个在两个数组之后循环并将数据导出到 csv 的函数,它模拟两个嵌套的 ng-repeat table(第一个 ng-repeat 用于 headers,第二个用于数据)。
代码还不是很干净。
$scope.download = function () {
var headerarray =$scope.displayColumns;
var array1 = [];
var array2 = [];
for (i = 0; i < $scope.filteredObjects.length; i++) {
for (j = 0; j < $scope.displayColumns.length; j++) {
if(i===0 && j===0) {
array1.push(headerarray);
array2.push(array1);
console.log(array2)
var str = array2.join("\n")
var array1 = []
}
array1.push($scope.showColumnData($scope.filteredObjects[i], $scope.displayColumns[j]));
if (j === $scope.displayColumns.length - 1) {
array2.push(array1);
console.log(array2)
var str = array2.join("\n")
var array1 = []
}
}
}
console.log(str);
console.log(str.length);
var dl = new Blob([str], { type: 'text' });
saveAs(dl, "export.csv")
}
当我在 Excel:
中打开文件时,输出看起来不错在 Ron 的 CSV 编辑器中,它看起来像这样:
在记事本中+
但是当我用纯记事本打开时,它是这样的一行:
恐怕我的 csv 格式不完全正确?有一些 Excel 和 Ron 正在识别的东西,但纯粹是记事本?
如果您希望换行符在记事本中正常显示,您必须使用 \r\n
而不是 \n
,因为它遵循 Microsoft 换行符格式。
您可以查看https://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications了解更多详情。