Browse Source

csv代码优化

java8
wenkuan.shi 2 years ago
parent
commit
f919bba9e8
  1. 6
      src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java
  2. 61
      src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java

6
src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java

@ -1,11 +1,17 @@
package com.xujie.sys.modules.reader.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xujie.sys.modules.reader.dao.EquipmentFolderLocationMapper;
import com.xujie.sys.modules.reader.entity.EquipmentFolderLocation;
import com.xujie.sys.modules.reader.service.EquipmentFolderLocationService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class EquipmentFolderLocationServiceImpl extends ServiceImpl<EquipmentFolderLocationMapper, EquipmentFolderLocation> implements EquipmentFolderLocationService {
}

61
src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java

@ -107,14 +107,17 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl<GetInformatio
txtName.add(folderFiler + "\\" + file.getName());
}
}
//excel(csv)不为空就做新增
if (CollectionUtils.isNotEmpty(fileName)) {
List<EquipmentDataDetail> equipmentDataDetails = saveExcel(fileName, excel, batchNo);
//批量新增
getInformationForExcelMapper.saveByExcels(equipmentDataDetails);
for (String s : fileName) {
deleteBypath(s, excel.getBackupFolderPath());
if (CollectionUtils.isNotEmpty(equipmentDataDetails)){
getInformationForExcelMapper.saveByExcels(equipmentDataDetails);
//批量新增
for (String s : fileName) {
deleteBypath(s, excel.getBackupFolderPath());
}
}else {
return;
}
}
//txt(tff)不为空就做新增
@ -187,46 +190,6 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl<GetInformatio
}
}
public static void main(String[] args)throws Exception {
// 源文件路径
String sourcePath = "E:\\file\\cs.tff";
// 目标文件夹路径
String destinationFolder = "E:\\info";
// 创建源文件对象和目标文件夹对象
File sourceFile = new File(sourcePath);
File destinationDir = new File(destinationFolder);
// 确保源文件存在且是文件
if (sourceFile.exists() && sourceFile.isFile()) {
// 确保目标文件夹存在且是目录
if (!destinationDir.exists()) {
destinationDir.mkdirs(); // 创建目标文件夹及其父目录
}
// 构建目标文件路径
String destinationPath = destinationFolder + File.separator + sourceFile.getName();
File destinationFile = new File(destinationPath);
try {
// 复制文件到目标文件夹
Files.copy(sourceFile.toPath(), destinationFile.toPath());
System.out.println("文件复制成功!");
// 删除源文件
if (sourceFile.delete()) {
System.out.println("源文件删除成功!");
} else {
System.out.println("源文件删除失败!");
}
} catch (IOException e) {
System.out.println("文件操作出错:" + e.getMessage());
}
} else {
System.out.println("源文件不存在或不是文件。");
}
}
//对tff文件进行操作
private static List<EquipmentDataDetail> saveTxt(List<String> fileName, EquipmentFolderLocation excel, Integer batchNo) {
List<EquipmentDataDetail> equipmentDataDetails = new ArrayList<>();
@ -314,10 +277,18 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl<GetInformatio
.sheet()
.doReadSync();
} catch (Exception e) {
e.printStackTrace();
log.info("读取文件失败,文件为:" + s + "失败日志:" + e.getMessage());
}
if (CollectionUtils.isEmpty(list)){
log.info("读取的文件为空,或不是excel格式的");
return new ArrayList<>();
}
//获取TEST后面的两个值
for (int i = 0; i < list.size(); i++) {
if (list.get(i).get(0)==null){
continue;
}
if (list.get(i).get(0).equals("TEST")) {
EquipmentDataDetail equipmentDataDetail = new EquipmentDataDetail();
equipmentDataDetail.setEquipmentNo(excel.getEquipmentNo());

Loading…
Cancel
Save