SpringBoot+EasyExcel+Mybatis-plus实现通用Excel数据批量导入
@RestController
@RequestMapping("/import")
public class ExcelImportController {
@Autowired
private ExcelDataService excelDataService;
@PostMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return R.error("文件不能为空");
}
try {
excelDataService.saveData(file);
return R.ok("数据导入成功");
} catch (Exception e) {
return R.error("数据导入失败:" + e.getMessage());
}
}
}
@Service
public class ExcelDataService {
@Autowired
private EasyExcelFactory easyExcelFactory;
@Autowired
private YourMapper yourMapper; // 替换为你的MyBatis-Plus Mapper
public void saveData(MultipartFile file) throws IOException {
InputStream inputStream = file.getInputStream();
List<YourDataClass> dataList = easyExcelFactory.read(inputStream, new YourDataClass());
for (YourDataClass data : dataList) {
yourMapper.insert(data); // 替换为你的插入方法
}
}
}
// 替换为你的实体类
public class YourDataClass {
// 定义你的字段
}
// 替换为你的Mapper
@Mapper
public interface YourMapper extends BaseMapper<YourDataClass> {
// 继承BaseMapper后,可直接使用插入方法
}
在这个代码实例中,我们创建了一个SpringBoot的REST控制器,它处理文件上传并调用服务层的方法来处理Excel数据。服务层使用EasyExcel来解析上传的文件,并将解析后的数据插入到MyBatis-Plus对应的数据库中。这个例子展示了如何结合SpringBoot、EasyExcel和MyBatis-Plus进行数据的批量导入。
评论已关闭