我使用opencsv
(2.3版本)CSVWriter
在java中创建csv文件。
然而,在打开我创建的csv文件时,它以这样的方式打开,所有数据都存储在单列中。
CSVWriter我用来创建CSV文件:
File file = new File(fileName);
CSVWriter writer = new CSVWriter(new FileWriter(fileName, true), ';');
String[] col= new String[3];
for(Customer c : CustomerList) {
col[0] = c.getCustomerName();
col[1] = c.getCustomerId();
col[2] = c.getCustomerBirthDate();
writer.writeNext(col);
}
writer.close();
CSV文件 - 单列中的所有数据:
“米奇”; “1”; “19901220”
“宽限期”, “2”, “19901231”
预期数据在单元格中过度对齐:
问题:
CSVWriter
将数据放入单独的列中?答案 0 :(得分:1)
fn有问题的答案。您需要使用逗号作为分隔符(这是默认设置),以便外部阅读器自动选择它。逗号是openCSV的默认值。
或者你可以进入excel并告诉它使用半冒号作为分隔符。使用“文本到列”选项。
答案 1 :(得分:0)
尝试使用univocity-parsers以excel期望的格式编写此代码:
new CsvRoutines(Csv.writeExcel())
.writeAll(customerList, Customer.class, new File(fileName), Charset.forName("windows-1252"));
只需使用Customer
注释@Parsed
课程的字段,就可以了。
免责声明:我是这个图书馆的作者。它是开源和免费的(apache 2.0许可证)