【问题标题】:opencsv content - values after commaopencsv 内容 - 逗号后的值
【发布时间】:2017-10-20 17:45:14
【问题描述】:

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

它是正确创建的。但是当我打开文件时,我看到所有数据都显示在单列中。

为了将值对齐到单独的列中

1.我在excel的数据选项卡中选择“文本到列”

2.我选择分隔符为“;”

  1. 我看到所有值都正确拆分为单独的列,但逗号后的值消失了

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

【问题讨论】:

    标签: java excel csv opencsv


    【解决方案1】:

    我认为问题在于您将其导入 Excel 的方式。

    使用上面的示例,我创建了一个 CSV 文件并在记事本中打开它以验证内容。

    如果您双击 CSV 文件(并让 Excel 与该文件类型相关联),它将在 Excel 中打开,并且看起来 Excel 默认尝试使用逗号作为分隔符。它跨 2 列显示数据。

    如果你打开 Excel,然后导入 CSV 文件,你可以告诉 Excel 你的文件是分隔的,分号是分隔符。使用“数据”选项卡中的“从文本”菜单项导入:

    它会正确显示:

    【讨论】:

    • 不,我选择分号作为分隔符,它可以与数字格式链接,我的意思是千位和小数分隔符??
    • @AlagammalP 我不这么认为。我将 Excel 配置为使用句号作为千位分隔符和逗号作为小数分隔符。我仍然得到与上面屏幕截图相同的结果。
    猜你喜欢
    • 2013-11-05
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    相关资源
    最近更新 更多