一、前端 (Element-UI)
1、HTML
导入
2、script
data () {
return {
url: this.$http.adornUrl(`/admin/user/upload?token=${this.$cookie.get('token')}`)
}
}
后端 (SpringBoot)
1、Controller
@PostMapping("/upload")
public R uploadFile(@RequestParam MultipartFile file){
try {
DemoDataListener excelForm = new DemoDataListener();
EasyExcel.read(file.getInputStream(), StudentEntity.class,excelForm).sheet().doRead();
List list = excelForm.getList();
studentService.saveBatch(list);
}catch (Exception e){
return R.error().put("msg","导入失败");
}
return R.ok();
}
2、Config
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.gx.dms.gdgx.entity.StudentEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class DemoDataListener extends AnalysisEventListener {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoDataListener.class);
private List list = new ArrayList();
@Override
public void invoke(StudentEntity form, AnalysisContext analysisContext) {
list.add(form);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
LOGGER.info("Excel解析完毕");
}
}
3、pom
com.alibaba
easyexcel
2.1.1