目录
总体效果:
要上传的excel文件
postman请求服务器上传
写入数据库成功!
1.上传excel代码部分
引入easyexcel依赖
实体类
上传代码,此处为核心代码,每五条插入一次数据库:
StudentPutReadMapper部分:
结果:
2.下载数据库导出excel
实体类
代码如下,关注核心部分即可
导出效果
总体效果:
要上传的excel文件
postman请求服务器上传
写入数据库成功!
1.上传excel代码部分
引入easyexcel依赖
com.alibaba
easyexcel
2.2.7
实体类
引入easyexcel依赖
com.alibaba
easyexcel
2.2.7
实体类
上传代码,此处为核心代码,每五条插入一次数据库:
@ApiOperation(value = "上传Excel")
@GetMapping("put")
public ResponseResult putExcel(@RequestParam("file") MultipartFile file) {
List studentPutFileReadList = new ArrayList<>();
InputStream inputStream = null;
try {
inputStream = file.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
EasyExcel.read(inputStream, StudentPutFileRead.class, new AnalysisEventListener() {
@Override
public void invoke(StudentPutFileRead studentPutFileRead, AnalysisContext analysisContext) {
studentPutFileReadList.add(studentPutFileRead);
if (studentPutFileReadList.size() == 5){
//批量插入数据库
studentPutReadMapper.batchInsert(studentPutFileReadList);
}
// 清空集合
studentPutFileReadList.clear();
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}).sheet().doRead();
return new ResponseResult(200, "插入数据库成功");
}
StudentPutReadMapper部分:
@Mapper
public interface StudentPutReadMapper extends BaseMapper {
@Insert({
""
})
void batchInsert(@Param("insertList") List studentPutFileReadList);
}
@Mapper public interface StudentPutReadMapper extends BaseMapper{ @Insert({ "" }) void batchInsert(@Param("insertList") List studentPutFileReadList); }
结果:
2.下载数据库导出excel
实体类
@Data
@TableName("student_read")
public class StudentRead implements Serializable {
@ExcelProperty(value = {"学生信息","学生编号"})
private Integer id;
@ExcelProperty(value = {"学生信息","学生姓名"})
private String name;
@ExcelProperty(value = {"学生信息","学生薪水"})
private Double salary;
@ExcelProperty(value = {"学生信息","学生生日"})
private Date birthday;
}
代码如下,关注核心部分即可
@ApiOperation(value = "下载Excel")
@GetMapping("down")
public ResponseResult downExcel() {
Random random = new Random(8);
// 下载的地址以及名称
String PATH = "F:\文件\excel下载\学生测试";
// 查询数据库
List list = studentReadMapper.selectList(null);
// 核心代码
EasyExcel.write(PATH + ".xlsx", StudentRead.class)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.sheet().doWrite(list);
return new ResponseResult(200, "下载成功");
}
导出效果
@ApiOperation(value = "下载Excel")
@GetMapping("down")
public ResponseResult downExcel() {
Random random = new Random(8);
// 下载的地址以及名称
String PATH = "F:\文件\excel下载\学生测试";
// 查询数据库
List list = studentReadMapper.selectList(null);
// 核心代码
EasyExcel.write(PATH + ".xlsx", StudentRead.class)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.sheet().doWrite(list);
return new ResponseResult(200, "下载成功");
}



