依赖
<!--alibaba easyexcel-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>1.1.2-beta5</version>
</dependency>
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class WriteModel extends BaseRowModel {
@ExcelProperty(value = "姓名", index = 0)
private String name;
@ExcelProperty(value = "密码", index = 1)
private String password;
@ExcelProperty(value = "年龄", index = 2)
private Integer age;
}
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.metadata.Sheet;
import org.junit.Test;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
public class WriteModel1 {
@Test
public void writeExcel1() throws Exception {
// 文件输出位置
OutputStream out = new FileOutputStream("C:\\Users\\Administrator\\Desktop/test.xlsx");
ExcelWriter writer = EasyExcelFactory.getWriter(out);
// 写仅有一个 Sheet 的 Excel 文件, 此场景较为通用
Sheet sheet1 = new Sheet(1, 0, WriteModel.class);
// 第一个 sheet 名称
sheet1.setSheetName("第一个sheet");
// 写数据到 Writer 上下文中
// 入参1: 创建要写入的模型数据
// 入参2: 要写入的目标 sheet
writer.write(createModelList(), sheet1);
// 将上下文中的最终 outputStream 写入到指定文件中
writer.finish();
// 关闭流
out.close();
}
private List<WriteModel> createModelList() {
ArrayList<WriteModel> list = new ArrayList<WriteModel>();
for (int i = 0; i <10; i++) {
WriteModel build = WriteModel.builder().name("俺叫啥好嘞" + i).password("123465").age(i + 1).build();
list.add(build);
}
return list;
}
}
参考文献https://www.exception.site/essay/how-to-create-excel-by-seven-line-code