【问题标题】:Remove Double Quotes around the String in CSV file删除 CSV 文件中字符串周围的双引号
【发布时间】:2016-07-01 05:02:22
【问题描述】:

我正在使用 Angular UI-grid 以表格形式显示数据,并且我还添加了将可见数据导出到 CSV 文件中的功能,但我的问题是在导出的文件中,所有字符串都用双引号括起来。

谁能告诉我如何删除那些不必要的双引号? 任何帮助表示赞赏

【问题讨论】:

    标签: csv angular-ui-grid double-quotes


    【解决方案1】:

    您所指的行为来自 uiGridExporterService 服务中的函数 formatFieldAsCsv(field)。没有 API 可让您通过设置更改此设置。

    然而,我们可以做的是使用decorator 来覆盖此默认行为,而无需修改 ui-grid 模块本身。

    我已经在working plunker 中证明了这一点。

    在下面的 sn-p 中,我指定了 qualifier 来替换最初使用的引号。有了这个,你可以让函数保持原样并且根本没有限定符,或者你可以将它的值更改为你喜欢的任何值,这将成为每个字段的前缀/后缀。

    app.config(['$provide', function ($provide) {
    
        $provide.decorator('uiGridExporterService', [
            '$delegate',
            function myServiceDecorator($delegate) {
                $delegate.formatFieldAsCsv = formatFieldAsCsv;
                return $delegate;
            }
        ]);
    
        function formatFieldAsCsv(field) {
    
            var qualifier = '';
    
            if (field.value === null) { // we want to catch anything null-ish, hence just == not ===
                return '';
            }
            if (typeof(field.value) === 'number') {
                return field.value;
            }
            if (typeof(field.value) === 'boolean') {
                return (field.value ? 'TRUE' : 'FALSE');
            }
            if (typeof(field.value) === 'string') {
                return qualifier + field.value.replace(/"/g, '""') + qualifier;
            }
    
            return JSON.stringify(field.value);
        }
    
    }]);
    

    http://plnkr.co/edit/8qskcFt7EHSlTQFo4ZUG?p=preview

    【讨论】:

      猜你喜欢
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2017-11-10
      • 2016-01-18
      • 1970-01-01
      • 2014-05-05
      相关资源
      最近更新 更多