diff --git a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java index 020d5f8c..3b1fdb11 100644 --- a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java +++ b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java @@ -29,6 +29,14 @@ public class ResourceData { // 配置表数据 private List rows = new ArrayList<>(); + public static ResourceData valueOf(String name, List headers, List rows) { + var resourceData = new ResourceData(); + resourceData.name = name; + resourceData.headers = headers; + resourceData.rows = rows; + return resourceData; + } + public String getName() { return name; } diff --git a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java index 9ca387aa..89f0627a 100644 --- a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java +++ b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java @@ -25,13 +25,12 @@ public class ResourceHeader { //列 private int index; - public ResourceHeader() { - } - - public ResourceHeader(String name, String type, int index) { - this.name = name; - this.type = type; - this.index = index; + public static ResourceHeader valueOf(String name, String type, int index) { + var resourceHeader = new ResourceHeader(); + resourceHeader.name = name; + resourceHeader.type = type; + resourceHeader.index = index; + return resourceHeader; } public String getName() { diff --git a/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java b/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java index e6c24f24..dab02835 100644 --- a/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java +++ b/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java @@ -61,13 +61,10 @@ public class ExcelToJsonUtils { public static ResourceData readResourceDataFromExcel(InputStream inputStream, String fileName) { // 只读取代码里写的字段 var wb = createWorkbook(inputStream, fileName); - var resource = new ResourceData(); - resource.setName(fileName); // 默认取到第一个sheet页 var sheet = wb.getSheetAt(0); //设置所有列 var headers = getHeaders(sheet, fileName); - resource.setHeaders(headers); // 行数定位到有效数据行,默认是第四行为有效数据行 var iterator = sheet.iterator(); @@ -84,10 +81,9 @@ public class ExcelToJsonUtils { var content = CellUtils.getCellStringValue(cell); columns.add(content); } - rows.add(ResourceRow.valueOf(row.getRowNum(), columns)); + rows.add(ResourceRow.valueOf(row.getRowNum() + 1, columns)); } - resource.setRows(rows); - return resource; + return ResourceData.valueOf(fileName, headers, rows); } // 只读取代码里写的字段 @@ -127,7 +123,7 @@ public class ExcelToJsonUtils { if (Objects.nonNull(previousValue)) { throw new RunException("资源[class:{}]的Excel文件出现重复的属性控制列[field:{}]", fileName, fieldName); } - headerList.add(new ResourceHeader(fieldName, typeName, i)); + headerList.add(ResourceHeader.valueOf(fieldName, typeName, i)); } return headerList; }