From f17cd2c97540ecb18c0a8cfffa641d52f4ea88e8 Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 11 Nov 2021 15:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=AF=94excel=E5=92=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E4=B8=AD=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/ExclErrorOut.java | 2 +- .../ImportExcelDatas/comment/ExclExport.java | 87 ++++++++++++++++++- .../controller/ImportExcelController.java | 7 ++ .../service/ImportExcelService.java | 3 + .../service/impl/ImportExcelServiceImpl.java | 32 +++++++ 5 files changed, 126 insertions(+), 5 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclErrorOut.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclErrorOut.java index 1efb078a..f8a81979 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclErrorOut.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclErrorOut.java @@ -15,7 +15,7 @@ import java.util.List; @Component public class ExclErrorOut { - private static final Logger logger = LoggerFactory.getLogger(BussStandExportUtil.class); + private static final Logger logger = LoggerFactory.getLogger(ExclErrorOut.class); public static Workbook exportDatas (List datas,String header) { Workbook workbook = new XSSFWorkbook(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclExport.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclExport.java index 29ff23c1..82d2f20c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclExport.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/comment/ExclExport.java @@ -1,17 +1,29 @@ package com.adc.da.slrs.ImportExcelDatas.comment; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; + +import java.util.*; +import java.util.stream.Collectors; -import java.util.List; -import java.util.Map; @Component public class ExclExport extends ExclErrorOut { + private static final Logger logger = LoggerFactory.getLogger(ExclErrorOut.class); /** * 导出多个sheet页的excl @@ -34,4 +46,71 @@ public class ExclExport extends ExclErrorOut { return workbook; } + + /** + * 比对表格中的数据是否在数据库表中 + * @param sourceFile + * @return + */ + public void contrast(MultipartFile sourceFile, HashSet> set) throws IOException { + + + InputStream inputStream = sourceFile.getInputStream(); + XSSFWorkbook workbook = new XSSFWorkbook(inputStream); + + XSSFSheet sheet = workbook.getSheetAt(0); + + + +// HashMap map = new HashMap<>(); + int lastNum = sheet.getLastRowNum(); + for (int i = 0; i < lastNum; i++) { + + XSSFRow row = sheet.getRow(i); + + + if (row.getCell(1)!=null){ +// String value = row.getCell(1).toString(); + +// map.put(value,String.valueOf(i)); + String value = row.getCell(1).toString(); + Cell cell = row.createCell(11); + Set> collect = set.stream() + .filter(item -> + value.contains(item.get(0).trim()) + || value.contains(item.get(1).trim()) + || value.contains(item.get(2).trim()) + ) + .collect(Collectors.toSet()); + + + if (!collect.isEmpty()){ + logger.info("*"); + cell.setCellType(CellType.STRING); + cell.setCellValue("1"); + }else { + logger.info("-"); + cell.setCellType(CellType.STRING); + cell.setCellValue("0"); + } + } + +// map.strea +// List filterList=map.stre() +// .filter(user -> serviceCodes.contains(user.getOrgId())) +// .collect(Collectors.toList()); + + + + } + + File file = new File("C:\\Users\\22501\\Desktop\\foton标准数据\\ouhuo.xlsx"); + FileOutputStream os = new FileOutputStream(file); + workbook.write(os); + } + + + + + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java index bf2f0174..0553d92c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/controller/ImportExcelController.java @@ -139,4 +139,11 @@ public class ImportExcelController extends BaseController { } + + @ApiOperation("从excl中导入标准信息") + @PostMapping("/isExist") + public String isExist(MultipartFile exclFile){ + return importExcelService.isExist(exclFile); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java index 95eaa3af..9513517b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/ImportExcelService.java @@ -15,4 +15,7 @@ public interface ImportExcelService extends IService { public List storageExclData(Map> importListMap); public Map> analysisExcl(MultipartFile exclFile,MultipartFile standSort); + + + public String isExist(MultipartFile exclFile); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index aa56d921..765ed853 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.vo.AttFileVo; +import com.adc.da.slrs.ImportExcelDatas.comment.ExclExport; import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; @@ -598,6 +599,37 @@ public class ImportExcelServiceImpl extends ServiceImpl standWrapper = new QueryWrapper<>(); + standWrapper.select("STAND_NAME,STAND_SORT,STAND_YEAR"); + List> maps = sarStandardsInfoService.listMaps(standWrapper); + + QueryWrapper bussionessWrapper = new QueryWrapper<>(); + bussionessWrapper.select("STAND_NAME,STAND_SORT,STAND_YEAR"); + List> maps1 = sarBussionessStandService.listMaps(bussionessWrapper); + + HashSet> nameSet = new HashSet<>(); + maps.addAll(maps1); + maps.forEach(item->{ + List strings = new LinkedList<>(); + strings.add(item.get("STAND_NAME").toString().trim()); + strings.add(item.get("STAND_SORT").toString().trim()); + strings.add(item.get("STAND_YEAR").toString().trim()); + + nameSet.add(strings); + }); + + try { + exclExport.contrast(exclFile,nameSet); + return "success"; + }catch (Exception e){ + e.printStackTrace(); + return "failed"; + } + } + /** * 整理为标准信息实体