5 changed files with 84 additions and 3 deletions
@ -0,0 +1,40 @@ |
|||
package org.dromara.demo.controller; |
|||
|
|||
import com.alibaba.excel.EasyExcel; |
|||
import jakarta.annotation.Resource; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.dromara.demo.domain.vo.ProjectInfoVo; |
|||
import org.dromara.demo.listener.ProjectInfoListener; |
|||
import org.dromara.demo.service.IProjectInfoService; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import java.io.IOException; |
|||
|
|||
@Slf4j |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
@RestController |
|||
@RequestMapping("/evr/excel") |
|||
public class ExcelController { |
|||
|
|||
@Resource |
|||
private IProjectInfoService projectInfoService ; |
|||
|
|||
@PostMapping("/uploadProjectInfo") |
|||
public void uploadPointInfo(MultipartFile file, HttpServletResponse response) throws IOException { |
|||
long t1 = System.currentTimeMillis(); |
|||
// 业务层
|
|||
EasyExcel.read(file.getInputStream(), ProjectInfoVo.class, new ProjectInfoListener(projectInfoService)).sheet().doRead(); |
|||
response.setContentType("text/html;charset=utf8"); |
|||
long t2 = System.currentTimeMillis(); |
|||
response.getWriter().println("导入数据成功!,共用时:"+(t2-t1)+"ms"); |
|||
log.info("批量项目信息成功! 共用时:{}ms",(t2-t1)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package org.dromara.demo.listener; |
|||
|
|||
import com.alibaba.excel.context.AnalysisContext; |
|||
import com.alibaba.excel.read.listener.ReadListener; |
|||
import jakarta.annotation.Resource; |
|||
import org.dromara.demo.domain.bo.ProjectInfoBo; |
|||
import org.dromara.demo.domain.vo.ProjectInfoVo; |
|||
import org.dromara.demo.service.IProjectInfoService; |
|||
import org.springframework.beans.BeanUtils; |
|||
|
|||
public class ProjectInfoListener implements ReadListener<ProjectInfoVo> { |
|||
|
|||
@Resource |
|||
private IProjectInfoService projectInfoService ; |
|||
|
|||
public ProjectInfoListener(IProjectInfoService projectInfoService) { |
|||
this.projectInfoService = projectInfoService; |
|||
} |
|||
|
|||
@Override |
|||
public void invoke(ProjectInfoVo projectInfoVo, AnalysisContext analysisContext) { |
|||
ProjectInfoBo projectInfo = new ProjectInfoBo(); |
|||
BeanUtils.copyProperties(projectInfoVo,projectInfo); |
|||
projectInfoService.insertByBo(projectInfo); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void doAfterAllAnalysed(AnalysisContext analysisContext) { |
|||
|
|||
} |
|||
} |
Loading…
Reference in new issue