CSVPrinter 数据显示未按列分隔

我正在尝试使用这个库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,如何将它们分开?


牧羊人nacy
浏览 199回答 2
2回答

互换的青春

所选答案并未真正显示如何确保将逗号设置为分隔符。要告诉 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) {    }

aluckdog

当我运行你的程序时,我得到了所有用逗号分隔的列,如预期的那样。如果您使用 Excel 打开文件,请确保您已选择逗号作为分隔符而不是制表符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java