2016-06-30 23 views
0

Ich benutze Angular UI-Grid, um Daten in Tabellenform anzuzeigen, und ich fügte auch eine Funktion zum Exportieren der sichtbaren Daten in CSV-Datei, aber mein Problem ist, dass in der exportierten Datei die ganze Zeichenfolge sind in doppelte Anführungszeichen eingeschlossen.Entfernen doppelte Anführungszeichen um den String in CSV-Datei

Kann mir jemand sagen, wie man diese unnötigen Anführungszeichen entfernt? Hilfe wird empfohlen

Antwort

0

Das Verhalten, auf das Sie sich beziehen, stammt von der Funktion formatFieldAsCsv (Feld) im uiGridExporterService-Dienst. Es gibt keine API, mit der Sie dies mit einer Einstellung ändern können.

Wir können jedoch eine verwenden, um dieses Standardverhalten zu überschreiben, ohne das UI-Grid-Modul selbst ändern zu müssen.

Ich habe dies in einer working plunker demonstriert.

Im folgenden Abschnitt habe ich Qualifier zugewiesen, um die ursprünglich verwendeten Angebote zu ersetzen. Damit können Sie die Funktion entweder unverändert lassen und haben kein Qualifikationsmerkmal, oder Sie können den Wert ändern, wie Sie möchten, und das wird das Präfix/Suffix für jedes Feld.

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