2017-10-20 80 views
0

我正在使用Java和opencsv(2.3)創建csv文件。opencsv內容 - 逗號後的值

正確創建。但是當我打開文件時,我看到所有數據都出現在單列中。

爲了在Excel

的數據標籤的值對準到單獨的列

1.I選擇「文本到列」

2.And我選擇分隔符爲「;」

  • 我看到所有的值被分裂成正常separte列,但逗號後的值越來越消失
  • CSVWriter我用它來創建CSV文件:

    File file = new File(fileName); 
        CSVWriter writer = new CSVWriter(new FileWriter(fileName, true), ';'); 
        String[] col= new String[4]; 
    
        for(Customer c : CustomerList) { 
         col[0] = c.getCustomerName(); 
         col[1] = c.getCustomerId(); 
         col[2] = c.getCustomerBirthDate(); 
         col[3] = c.getRegFee(); /** 145,65**/ 
         col[4] = c.getRegPlace(); 
         writer.writeNext(col); 
        } 
    
        writer.close(); 
    

    CSV文件 - 實際內容:

    "Micky";"1";"19901220";"455,56";"Place1" 
    
    "Grace";"2";"199";"465,87";"Place2" 
    

    CSV文件 - 在使用Excel中打開:

    "Micky";"1";"19901220";"455" // , 56 and Place1 are vanished 
    
        "Grace";"2";"199";"465" // , 87 and Place2 are vanished 
    

    回答

    0

    我認爲這個問題是你它導入到Excel的方式做。

    使用上面的示例,我創建了一個CSV文件並在記事本中打開它以驗證內容。

    enter image description here

    如果你雙擊一個CSV文件(並已與該文件類型相關聯的Excel),它會在Excel中打開,它看起來像Excel中嘗試使用逗號作爲默認分隔符。它顯示2列的數據。

    enter image description here

    如果您打開Excel,然後導入CSV文件,你可以告訴你的文件分隔,並且分號爲分隔符的Excel。使用從文本菜單項從數據標籤導入:

    enter image description here

    然後它會顯示正確:

    enter image description here

    +0

    不,我選擇分號作爲分隔符,可以將其與被鏈接數字格式,我的意思是千位和小數點分隔符? –

    +0

    @AlagammalP我不這麼認爲。我將Excel配置爲使用千位分隔符和逗號作爲小數點分隔符。我仍然有和上面截圖一樣的結果。 –