2016-07-23 14 views
0

Apache Commns CSVを使用してCSVファイルにデータを印刷しています。フィールドの1つに15桁の数字が含まれ、タイプはStringです。このフィールドは、完全な番号の代わりにCSVで指数的な番号として印刷されます。私はExcelを知っているが、完全な数としてそれを印刷する方法はJavaである。csvファイルの指数をJavaから変換する方法

私は特別なことはしていません。当初私はCommons CSVがそれを世話すると思った。

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

これまでに書いたコードを確認する必要があります。問題の数値を 'BigDecimal'として変換したいと思っていますが、コードが本当に必要です。 – markspace

+0

@markspace。私は自分の投稿を更新しました。これが私のやり方です。基本的には、このメソッドをStruts2アクションに呼び出します。これは私がPOJOからデータを取得してCSVに書き込む方法です。ポリシー番号を指数ではなく123456789101112のような完全な数字として表示します。 – Jaykumar

+0

'dto.getPolicyNumber()'は文字列を返しますか?もしそうなら、指数表記への変換はあなたが与えたコードではなく、 'dto.getPolicyNumber()'のどこかで行われます。 –

答えて

1

プリペンドアポストロフィ

は、私の知る限りは、コメント欄での議論から理解し、それは、CSVファイルのExcelの解釈についての質問ですが、ファイル自体は必要なすべてのデータが含まれています。

私は、csvFilePrinter.PrintRecord("'" + csvData);が役に立たなければならないと思います。アポストロフィでは、フィールドを数値ではなく文字列として解釈する必要があります。

+0

うん、これは私の命を救った。ありがとうルスラン。 – Jaykumar

関連する問題