为了账号安全,请及时绑定邮箱和手机立即绑定

CSVPrinter 数据显示未按列分隔

CSVPrinter 数据显示未按列分隔

牧羊人nacy 2022-06-23 17:18:42
我正在尝试使用这个库commons-csv (1.5)来生成 csv 文件,我制作了一个简单的程序来查看结果:String SAMPLE_CSV_FILE = "./sample.csv";        try (            BufferedWriter writer = Files.newBufferedWriter(Paths.get(SAMPLE_CSV_FILE));            CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.EXCEL                    .withHeader("ID", "Name", "Designation", "Company"));        ) {            csvPrinter.printRecord("1", "Name1 ", "CEO", "Google");            csvPrinter.printRecord("2", "Name2", "CEO", "Microsoft");            csvPrinter.flush();                    }我的 CSV 生成良好,但标题和数据在每一列中没有分开,当我打开 CSV 文件时,我在第一列中看到所有数据和标题我还没有找到好的 CSVFormat,如何将它们分开?
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

所选答案并未真正显示如何确保将逗号设置为分隔符。


要告诉 excel 逗号应该用作分隔符,请打印printer.printRecord("SEP=,");为文件中的第一条记录。它是一个 excel 可以理解的命令,它不会显示在您的文件输出中。


try (CSVPrinter printer = new CSVPrinter(new FileWriter("file.csv"),CSVFormat.EXCEL)) {

    printer.printRecord("SEP=,"); //this line does the margic.

    printer.printRecord("Column A","Column B","Column C");                      

} catch (IOException ex) {

    

}


查看完整回答
反对 回复 2022-06-23
?
aluckdog

TA贡献1847条经验 获得超7个赞

当我运行你的程序时,我得到了所有用逗号分隔的列,如预期的那样。如果您使用 Excel 打开文件,请确保您已选择逗号作为分隔符而不是制表符。



查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信