1.導(dǎo)入的excel文檔里面的數(shù)據(jù)
@RequestMapping(value = "import")
public Response importIndicatorBuilding(@RequestParam("file") MultipartFile file) throws IOException {
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
reader.addHeaderAlias("參數(shù)1","indicatorName");
reader.addHeaderAlias("參數(shù)2","indicatorCode");
reader.addHeaderAlias("參數(shù)3","landAreaName");
reader.addHeaderAlias("參數(shù)4","projectName");
reader.addHeaderAlias("參數(shù)5","planStageName");
reader.addHeaderAlias("參數(shù)6","buildingName");
ProjectsMdmprojectinfoDto param = new ProjectsMdmprojectinfoDto();
List<IndicatorBuildingDto> studentList = reader.readAll(IndicatorBuildingDto.class);
try {
this.preCheckData(studentList);
}catch (RuntimeException rx){
log.error("導(dǎo)入異常,{}", rx);
}catch (Exception e){
log.error("導(dǎo)入異常,{}", e);
}
return Response.success();
}
2.導(dǎo)出excel
@PostMapping(value ="/export",produces = "application/json;charset=UTF-8")
public Response export(@RequestParam(value = "current", defaultValue = "1") @ApiParam(value = "頁(yè)碼,從1開(kāi)始") long current,
@RequestParam(value = "size", defaultValue = "20") @ApiParam(value = "行數(shù)") long size,
@RequestBody IndicatorBuilding indicatorBuilding ) {
Map<String,String> result = new HashMap<>();
IPage<IndicatorBuilding> page = new Page<>(current, size);
QueryWrapper<IndicatorBuilding> wrapper = new QueryWrapper<>();
wrapper.eq("status", "1" );
if (StringUtils.isNotEmpty(indicatorBuilding.getIndicatorName())){
wrapper.eq("indicator_name",indicatorBuilding.getIndicatorName());
}
if (StringUtils.isNotEmpty(indicatorBuilding.getIndicatorCode())){
wrapper.eq("indicator_code",indicatorBuilding.getIndicatorCode());
}
wrapper.lambda().orderByDesc(IndicatorBuilding::getCreateTime);
indicatorBuildingService.page(page,wrapper);
List<IndicatorBuilding> records = page.getRecords();
List<IndicatorBuildingDto> dtoList = new ArrayList<>();
records.stream().forEach( p ->{
IndicatorBuildingDto dto = new IndicatorBuildingDto();
BeanUtil.copyProperties(p,dto);
dtoList.add(dto);
});
ExcelWriter writer = ExcelUtil.getWriter();
writer.addHeaderAlias("indicatorName","參數(shù)1");
writer.addHeaderAlias("indicatorCode","參數(shù)2");
writer.addHeaderAlias("landAreaName","參數(shù)3");
writer.addHeaderAlias("projectName","參數(shù)4");
writer.addHeaderAlias("planStageName","參數(shù)5");
writer.addHeaderAlias("buildingName","參數(shù)6");
writer.autoSizeColumn(5);
writer.write(dtoList, true);
try {
//生成excel
String fileId = UUID.randomUUID().toString().toUpperCase().replaceAll("-", "");
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date now = new Date();
String dateStr = df.format(now);
String path = "/excel/tmp/" + dateStr + "/" + fileId + ".xlsx";
File file = FileUtil.createFile(path, absolutePath);
OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
writer.flush(os, true);
os.flush();
CofUploadFile cofUploadFile = new CofUploadFile();
cofUploadFile.setFileId(fileId);
String fileName = "表名"+".xlsx";
cofUploadFile.setFileName(fileName);
cofUploadFile.setFilePath(file.getAbsolutePath());
cofUploadFile.setFileSize(file.length());
cofUploadFile.setFileContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
cofUploadFile.setSaveType("1");
uploadFileService.saveFile(cofUploadFile);
result.put("fileId", fileId);
} catch (IOException e) {
log.error("導(dǎo)出異常:{}",e);
} finally {
writer.close();
}
return Response.success(result);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。