book-api/maku-server/src/test/java/net/maku/EasyExcelTest.java

81 lines
2.3 KiB
Java
Raw Normal View History

2022-11-03 16:38:26 +08:00
package net.maku;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import net.maku.framework.common.excel.ExcelFinishCallBack;
import net.maku.framework.common.excel.LocalDateTimeConverter;
2022-11-03 16:38:26 +08:00
import net.maku.framework.common.utils.ExcelUtils;
import org.junit.jupiter.api.Test;
import java.io.File;
2024-04-01 09:49:48 +08:00
import java.time.LocalDateTime;
2022-11-03 16:38:26 +08:00
import java.util.Arrays;
import java.util.List;
/**
* EasyExcel 测试
*
* @author eden
*/
public class EasyExcelTest {
@Test
2022-11-04 16:37:24 +08:00
public void doImport() {
2022-11-03 16:38:26 +08:00
File file = new File("D://upload//test01.xlsx");
ExcelClass excelClass = new ExcelClass();
excelClass.setNumber(1);
excelClass.setDecimals(1.2);
excelClass.setString("test");
2024-04-01 09:49:48 +08:00
excelClass.setDate(LocalDateTime.now());
2022-11-03 16:38:26 +08:00
List<ExcelClass> data = Arrays.asList(excelClass, excelClass, excelClass);
2022-11-04 16:37:24 +08:00
if (file.exists()) {
2022-11-03 16:38:26 +08:00
ExcelUtils.excelExport(ExcelClass.class, file, data);
2022-11-04 16:37:24 +08:00
List<ExcelClass> list = ExcelUtils.readSync(file, ExcelClass.class);
list.forEach(System.out::println);
2022-11-03 16:38:26 +08:00
}
}
@Test
public void doAImport() {
File file = new File("D://upload//test01.xlsx");
ExcelClass excelClass = new ExcelClass();
excelClass.setNumber(1);
excelClass.setDecimals(1.2);
excelClass.setString("test");
2024-04-01 09:49:48 +08:00
excelClass.setDate(LocalDateTime.now());
2022-11-03 16:38:26 +08:00
List<ExcelClass> data = Arrays.asList(excelClass, excelClass, excelClass, excelClass, excelClass, excelClass, excelClass);
2022-11-09 17:19:39 +08:00
if (file.exists()) {
2022-11-03 16:38:26 +08:00
ExcelUtils.excelExport(ExcelClass.class, file, data);
2022-11-04 16:37:24 +08:00
ExcelUtils.readAnalysis(file, ExcelClass.class, new ServiceA());
2022-11-03 16:38:26 +08:00
}
2022-11-04 16:37:24 +08:00
}
2022-11-03 16:38:26 +08:00
@Data
public static class ExcelClass {
@ExcelProperty("整数")
private Integer number;
@ExcelProperty("字符串")
private String string;
@ExcelProperty("小数")
private Double decimals;
@ExcelProperty(value = "日期", converter = LocalDateTimeConverter.class)
2024-04-01 09:49:48 +08:00
private LocalDateTime date;
2022-11-03 16:38:26 +08:00
}
}
class ServiceA implements ExcelFinishCallBack<EasyExcelTest.ExcelClass> {
@Override
public void doAfterAllAnalysed(List<EasyExcelTest.ExcelClass> result) {
System.out.println(result.size());
}
}