【问题标题】:Export my ng-repeat to csv - what am I doing wrong?将我的 ng-repeat 导出到 csv - 我做错了什么?
【发布时间】:2018-02-13 07:35:43
【问题描述】:

我正在尝试创建在两个数组之后循环并将数据导出到 csv 的函数,它模拟两个嵌套的 ng-repeat 表(第一个 ng-repeat 用于标题,第二个用于数据)。

代码还不是很干净。

 $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 可以通过纯记事本识别某些内容?

【问题讨论】:

  • 这取决于应用程序配置。这不是你的代码问题。
  • 你试过了吗 var dl = new Blob([str], { type: 'text/csv' });

标签: angularjs export-to-csv


【解决方案1】:

如果您想在记事本中正常显示换行符,则必须使用 \r\n 而不仅仅是 \n,因为它遵循 Microsoft 换行符格式。

您可以查看https://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications了解更多详情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2016-05-14
    • 2011-06-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多