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.
| A | B | C | |
| 1 | String Title | Date Title | Number Title |
| 2 | String0 | 2026-07-31 20:50:23 | 0.56 |
| 3 | String1 | 2026-07-31 20:50:23 | 0.56 |
| 4 | String2 | 2026-07-31 20:50:23 | 0.56 |
| ⋮ | … | … | … |
| 11 | String9 | 2026-07-31 20:50:23 | 0.56 |