2016-06-30 11 views
0

角型UIグリッドを使用して表形式でデータを表示していますが、CSVファイルで表示するデータをエクスポートする機能も追加しましたが、二重引用符で囲みます。CSVファイルの文字列の二重引用符を削除する

これらの不要な二重引用符を削除する方法を教えてもらえますか? 助けを借りていただきありがとうございます。

答えて

0

あなたが参照している動作は、uiGridExporterServiceサービス内のformatFieldAsCsv(field)関数から得られます。これを設定で変更できるAPIはありません。

しかし、私たちができることは、uy-gridモジュール自体を変更することなく、このデフォルト動作を変更するためにdecoratorを使用することです。

working plunkerでこれを実証しました。

以下のスニペットで、私は修飾子を割り当てて、最初に使用していた見積もりを置き換えました。これにより、関数をそのままにして、修飾子を一切持たなくてもよいし、好きな値に変更することもでき、それは各フィールドの接頭辞/接尾辞になる。

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

関連する問題