提交更改

This commit is contained in:
super
2026-06-05 21:25:03 +08:00
parent 95ccb00d25
commit 8ab647c419
39 changed files with 1390 additions and 92 deletions
@@ -35,6 +35,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -291,7 +292,7 @@ public class ConvertRunService {
long batchId = System.currentTimeMillis();
int[] rowIndex = new int[]{1};
boolean[] headerRead = new boolean[]{false};
Map<String, Integer>[] headerMapHolder = new Map[]{null};
AtomicReference<Map<String, Integer>> headerMapHolder = new AtomicReference<>();
ExcelStreamReader.readFirstSheet(inputFile, new ExcelStreamReader.SheetRowHandler() {
@Override
@@ -310,7 +311,7 @@ public class ConvertRunService {
throw new BusinessException("Missing required columns: " + String.join(", ", missing));
}
headerRead[0] = true;
headerMapHolder[0] = resolvedHeaderMap;
headerMapHolder.set(resolvedHeaderMap);
for (String line : preambleLines) {
writeLineToAll(writers, line);
}
@@ -322,7 +323,7 @@ public class ConvertRunService {
@Override
public void onRow(String sheetName, Integer sheetNo, int excelRowIndex, Map<Integer, String> headerMap, Map<Integer, String> rowMap) throws Exception {
Map<String, Integer> resolvedHeaderMap = headerMapHolder[0];
Map<String, Integer> resolvedHeaderMap = headerMapHolder.get();
if (resolvedHeaderMap == null) {
throw new BusinessException("Excel header row is empty.");
}