ソースを参照

EasyExcelUtil工具放到core中

master
huminghao 3日前
コミット
6ebb4d2157

zhywpt-app-invw/src/main/java/cn/com/taiji/invw/tools/EasyExcelEnumConverter.java → gly-base-core/src/main/java/cn/com/taiji/core/manager/tools/easyExcel/EasyExcelEnumConverter.java ファイルの表示

@@ -1,4 +1,4 @@
package cn.com.taiji.invw.tools;
package cn.com.taiji.core.manager.tools.easyExcel;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;

zhywpt-app-managew/src/main/java/cn/com/taiji/managew/tools/EasyExcelUtil.java → gly-base-core/src/main/java/cn/com/taiji/core/manager/tools/easyExcel/EasyExcelUtil.java ファイルの表示

@@ -1,4 +1,4 @@
package cn.com.taiji.managew.tools;
package cn.com.taiji.core.manager.tools.easyExcel;

import cn.com.taiji.common.manager.ManagerException;
import com.alibaba.excel.EasyExcel;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/card/InvwCardDetailsManagerImpl.java ファイルの表示

@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails;
import cn.com.taiji.core.entity.invw.InvwQryCardBatch;
import cn.com.taiji.core.entity.invw.InvwQryCards;
import cn.com.taiji.core.entity.invw.InvwWarehouse;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo;
import cn.com.taiji.core.repo.jpa.invw.InvwQryCardBatchRepo;
@@ -20,7 +21,6 @@ import cn.com.taiji.invw.dto.card.*;
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO;
import cn.com.taiji.invw.manager.AbstractInvwManager;
import cn.com.taiji.invw.model.card.InvwCardDetailsExcelModel;
import cn.com.taiji.invw.tools.EasyExcelUtil;
import cn.com.taiji.invw.tools.SourceTargetMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/enter/InvwEnterApplyManagerImpl.java ファイルの表示

@@ -14,6 +14,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails;
import cn.com.taiji.core.entity.invw.InvwEnterApply;
import cn.com.taiji.core.entity.invw.InvwEnterApplyDetails;
import cn.com.taiji.core.entity.invw.InvwObuDetails;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo;
import cn.com.taiji.core.repo.jpa.invw.InvwEnterApplyDetailsRepo;
@@ -23,7 +24,6 @@ import cn.com.taiji.core.repo.request.invw.InvwEnterApplyPageRequest;
import cn.com.taiji.invw.dto.enter.*;
import cn.com.taiji.invw.manager.AbstractInvwManager;
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel;
import cn.com.taiji.invw.tools.EasyExcelUtil;
import cn.com.taiji.invw.tools.GenerateNoUtil;
import cn.com.taiji.invw.tools.SourceTargetMapper;
import org.apache.commons.compress.utils.Lists;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/obu/InvwObuDetailsManagerImpl.java ファイルの表示

@@ -8,6 +8,7 @@ import cn.com.taiji.core.entity.dict.basic.ObuType;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.invw.*;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.*;
import cn.com.taiji.core.repo.request.invw.InvwObuDetailsPageRequest;
@@ -16,7 +17,6 @@ import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO;
import cn.com.taiji.invw.dto.obu.*;
import cn.com.taiji.invw.manager.AbstractInvwManager;
import cn.com.taiji.invw.model.card.InvwObuDetailsExcelModel;
import cn.com.taiji.invw.tools.EasyExcelUtil;
import cn.com.taiji.invw.tools.SourceTargetMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

+ 1
- 3
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/stocktaking/InvwStocktakingInfoManagerImpl.java ファイルの表示

@@ -11,15 +11,14 @@ import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.invw.InvwStocktakingInfo;
import cn.com.taiji.core.entity.invw.InvwStocktakingResult;
import cn.com.taiji.core.entity.invw.InvwWarehouse;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.*;
import cn.com.taiji.core.repo.request.invw.InvwStocktakingInfoPageRequest;
import cn.com.taiji.invw.dto.stocktaking.*;
import cn.com.taiji.invw.manager.AbstractCommManager;
import cn.com.taiji.invw.manager.AbstractInvwManager;
import cn.com.taiji.invw.model.stocktaking.*;
import cn.com.taiji.invw.tools.ConvertUtils;
import cn.com.taiji.invw.tools.EasyExcelUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.NumberUtil;
@@ -34,7 +33,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/manager/transfer/InvwTransferApplyManagerImpl.java ファイルの表示

@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.invw.InvwTransferApply;
import cn.com.taiji.core.entity.invw.InvwTransferApplyDetails;
import cn.com.taiji.core.entity.invw.InvwWarehouse;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.repo.jpa.invw.*;
import cn.com.taiji.core.repo.request.invw.InvwTransferApplyPageRequest;
@@ -17,7 +18,6 @@ import cn.com.taiji.invw.dto.transfer.*;
import cn.com.taiji.invw.manager.AbstractInvwManager;
import cn.com.taiji.invw.model.transfer.InvwTransferApplyCommModel;
import cn.com.taiji.invw.model.transfer.InvwTransferApplyDetailsModel;
import cn.com.taiji.invw.tools.EasyExcelUtil;
import cn.com.taiji.invw.tools.GenerateNoUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/model/card/InvwCardDetailsExcelModel.java ファイルの表示

@@ -3,7 +3,7 @@ package cn.com.taiji.invw.model.card;
import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.DeviceVersion;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
import cn.com.taiji.invw.tools.EasyExcelEnumConverter;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/model/card/InvwObuDetailsExcelModel.java ファイルの表示

@@ -4,7 +4,7 @@ import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.DeviceVersion;
import cn.com.taiji.core.entity.dict.basic.ObuType;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
import cn.com.taiji.invw.tools.EasyExcelEnumConverter;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;

+ 0
- 85
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/tools/EasyExcelUtil.java ファイルの表示

@@ -1,85 +0,0 @@
package cn.com.taiji.invw.tools;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.write.metadata.WriteSheet;
import org.apache.poi.ss.formula.functions.T;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

/**
* @Auther: humh
* @Description:
* @Date: 2025/4/21 17:32
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public class EasyExcelUtil extends EasyExcelFactory {

protected static Logger logger = LoggerFactory.getLogger(EasyExcelUtil.class);

/**
* 导出Excel返回 File
*/
public static File exportExcelFile(Class<?> clazz, List<?> list, String fileName) throws ManagerException {
try {
// 临时目录 临时文件名
File file = new File(fileName + ".xlsx");
FileOutputStream fileOutputStream = new FileOutputStream(file);
ExcelWriter excelWriter = write(fileOutputStream).build();
WriteSheet writeSheet = writerSheet(0, fileName).head(clazz).build();
excelWriter.write(list, writeSheet);
excelWriter.finish();
return file;
} catch (Exception e) {
logger.debug("导出Excel异常:{}", e.getMessage());
throw new ManagerException("导出Excel异常");
}
}

/**
* 从第一行开始读取excel,根据列数读取数据
* 泛型方法:读取Excel到指定Model的List
* @param file Excel文件
* @param modelClass 目标Model类(需标注@ExcelProperty)
* @return List<T> 数据集合
*/
public static <T> List<T> readExcelColToModelList(File file, Class<T> modelClass, Integer row) {
List<T> dataList = new ArrayList<>();

EasyExcel.read(file, modelClass, new AnalysisEventListener<T>() {
@Override
public void invoke(T data, AnalysisContext context) {
dataList.add(data); // 逐行映射到Model
}

@Override
public void doAfterAllAnalysed(AnalysisContext context) {
logger.info("Excel解析完成,共读取{}行", dataList.size());
}

@Override
public void onException(Exception exception, AnalysisContext context) {
throw new RuntimeException("第" + context.readRowHolder().getRowIndex() + "行解析失败", exception);
}
}).sheet()
.headRowNumber(row) // 关键修改:设置从第0行开始读取(Excel行号从0开始计数)
.doRead();

return dataList;
}




}

+ 1
- 1
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/bls/BlackCardManagerImpl.java ファイルの表示

@@ -3,6 +3,7 @@ package cn.com.taiji.managew.manager.bls;
import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.core.entity.dict.basic.CardBlackType;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.managew.dto.bls.*;
@@ -10,7 +11,6 @@ import cn.com.taiji.managew.manager.AbstractCommManager;
import cn.com.taiji.managew.model.bls.BlackCardImportErrorModel;
import cn.com.taiji.managew.model.bls.BlackCardImportModel;
import cn.com.taiji.managew.model.bls.BlackCardQueryModel;
import cn.com.taiji.managew.tools.EasyExcelUtil;
import cn.com.taiji.managew.tools.SourceTargetMapper;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;

+ 1
- 1
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/bls/BlackObuManagerImpl.java ファイルの表示

@@ -3,12 +3,12 @@ package cn.com.taiji.managew.manager.bls;
import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.core.entity.dict.basic.ObuBlackType;
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil;
import cn.com.taiji.core.manager.tools.minio.MinioUtil;
import cn.com.taiji.core.model.comm.protocol.bls.*;
import cn.com.taiji.managew.dto.bls.*;
import cn.com.taiji.managew.manager.AbstractCommManager;
import cn.com.taiji.managew.model.bls.*;
import cn.com.taiji.managew.tools.EasyExcelUtil;
import cn.com.taiji.managew.tools.SourceTargetMapper;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;

読み込み中…
キャンセル
保存