删除CSV文件中字符串周围的双引号

Nishant Desai

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

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

布赖恩

您要引用的行为来自uiGridExporterService服务中的函数formatFieldAsCsv(field)。没有API允许您通过设置进行更改。

但是,我们可以做的是使用装饰器覆盖此默认行为,而不必修改ui-grid模块本身。

我已经在工作中的矮人中证明了这一点

在下面的代码段中,我分配了限定词来替换最初使用的报价。这样,您可以将函数保留原样并且完全没有限定符,也可以将其值更改为自己喜欢的值,这将成为每个字段的前缀/后缀。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章