Skip to main content

Simple Writing

This chapter introduces how to use Fesod to perform simple spreadsheet writing operations.

Overview

Use Fesod for simple spreadsheet data writing to quickly write entity objects to spreadsheet files. This is the most basic and commonly used writing approach.

Code Examples

POJO Class

The DemoData POJO class corresponding to the spreadsheet structure:

@Getter
@Setter
@EqualsAndHashCode
public class DemoData {
@ExcelProperty("String Title")
private String string;
@ExcelProperty("Date Title")
private Date date;
@ExcelProperty("Number Title")
private Double doubleData;
@ExcelIgnore
private String ignore; // Ignored field
}

Data List

private List<DemoData> data() {
List<DemoData> list = ListUtils.newArrayList();
for (int i = 0; i < 10; i++) {
DemoData data = new DemoData();
data.setString("String" + i);
data.setDate(new Date());
data.setDoubleData(0.56);
list.add(data);
}
return list;
}

Writing Methods

Fesod provides multiple writing methods, including Lambda expressions, data lists, ExcelWriter objects, etc.

Lambda Expression

@Test
public void simpleWrite() {
String fileName = "simpleWrite" + System.currentTimeMillis() + ".xlsx";

FesodSheet.write(fileName, DemoData.class)
.sheet("Sheet1")
.doWrite(() -> data());
}

Data List

@Test
public void simpleWrite() {
String fileName = "simpleWrite" + System.currentTimeMillis() + ".xlsx";

FesodSheet.write(fileName, DemoData.class)
.sheet("Sheet1")
.doWrite(data());
}

ExcelWriter Object

@Test
public void simpleWrite() {
String fileName = "simpleWrite" + System.currentTimeMillis() + ".xlsx";

try (ExcelWriter excelWriter = FesodSheet.write(fileName, DemoData.class).build()) {
WriteSheet writeSheet = FesodSheet.writerSheet("Sheet1").build();
excelWriter.write(data(), writeSheet);
}
}

Result

All three approaches produce the same file. Row 1 holds the header titles taken from @ExcelProperty, and the 10 objects returned by data() follow in rows 2-11. The ignore field is absent because it is annotated @ExcelIgnore.

ABC
1String TitleDate TitleNumber Title
2String02026-07-31 20:50:230.56
3String12026-07-31 20:50:230.56
4String22026-07-31 20:50:230.56
11String92026-07-31 20:50:230.56