opencsv内容 - 逗号后的值

时间:2017-10-20 17:45:15

标签: java excel csv opencsv

我使用Java和opencsv(2.3)来创建csv文件。

创建得当。但是当我打开文件时,我看到所有数据都出现在单列中。

为了将值对齐到单独的列

1.我选择" Text to Columns"在excel的数据选项卡中

2.我选择Delimiter为&#34 ;;"

  1. 我看到所有的值都被正确地拆分成了separte列,但逗号之后的值已经消失了
  2. 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";"19901231";"465,87";"Place2"
    

    CSV文件 - 使用Excel打开时:

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

1 个答案:

答案 0 :(得分: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