2016-07-23 23 views
0

Ich drucke einige Daten in eine CSV-Datei mit Apache Commns CSV. Eines der Felder enthält eine 15-stellige Nummer und ist vom Typ String. Dieses Feld wird als Exponentialzahl in CSV anstelle einer vollständigen Zahl gedruckt. Ich weiß Excel tut das aber gibt es einen Weg in Java, um es als eine vollständige Nummer zu drucken.So konvertieren Sie Exponenten in einer CSV-Datei von Java

Ich mache nichts Besonderes. Anfangs dachte ich, dass Commons CSV sich darum kümmern wird.

public void createCSV(){ 
    inputStream = new FileInputStream("fileName"); 
    fileWriter = new FileWriter("fileName"); 
    csvFileFormat = CSVFormat.Excel.withHeader("header1", "header2"); 
    csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat); 

    for(List<UiIntegrationDTO dto: myList>){ 
    String csvData = dto.getPolicyNumber(); 
    csvFilePrinter.PrintRecord(csvData); 
    } 
} 
+0

Wir müssen sehen, welchen Code Sie bisher geschrieben haben. Ich vermute, dass Sie die fragliche Zahl als 'BigDecimal' konvertieren wollen, aber wir brauchen wirklich den Code. – markspace

+0

@markraum. Ich habe meinen Beitrag aktualisiert. So mache ich es. Grundsätzlich rufe ich diese Methode für meine Struts2-Aktion auf. So bekomme ich die Daten von POJO und schreibe sie in CSV.Ich möchte, dass die Policy-Nummer als vollständige Zahl wie 123456789101112 nicht als Exponent angezeigt wird. – Jaykumar

+0

'dto.getPolicyNumber()' gibt einen String zurück, oder? Wenn dies der Fall ist, erfolgt die Konvertierung in Exponentialschreibweise nicht in dem Code, den Sie angegeben haben, sondern irgendwo innerhalb von "dto.getPolicyNumber()". –

Antwort

1

Prepend Apostroph

Soweit ich aus der Diskussion in den Kommentaren zu verstehen, es ist eine Frage, über Excel Interpretation der CSV-Datei, aber die Datei selbst enthält alle notwendigen Daten.

Ich denke, csvFilePrinter.PrintRecord("'" + csvData); sollte helfen. Apostroph erfordert, dass Excel ein Feld als Zeichenfolge interpretiert und nicht als Zahl.

+0

Yup, das hat mir das Leben gerettet. Danke Ruslan. – Jaykumar