This project aims to design a lightweight CSV builder for dealing with simple CSV/Excel file.
publicclassMain {
publicstaticvoidmain(String[] args) throwsIOException {
// build string in memoryCsvBuilderbuilder = newStringCsvBuilder();
builder.append("abc");
builder.append("cde");
builder.appendMoney(BigDecimal.TEN);
builder.append(ZonedDateTime.now());
builder.appendNextLine(); // next rowSystem.out.println(builder.build());
// build large file with BufferedWriterDecimalFormatmoneyFormat = newDecimalFormat("###,###.##");
DateTimeFormatterdateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneIds.ASIA_SHANGHAI);
CsvFormattercsvFormatter = CsvFormatterFactory.create(moneyFormat, dateTimeFormatter, ",", "N/A", false);
CsvBuilderfileBuilder = newFileCsvBuilder("test.csv", csvFormatter, true);
fileBuilder.append("header1");
fileBuilder.append("header2");
fileBuilder.append("header3");
fileBuilder.append("header4");
fileBuilder.appendNextLine();
for (inti = 0; i < 100; i++) {
fileBuilder.append("data1,data2");
fileBuilder.append("data2");
fileBuilder.appendMoney(BigDecimal.TEN);
fileBuilder.append(ZonedDateTime.now());
fileBuilder.appendNextLine();
}
System.out.println(fileBuilder.build()); // file path
}
}