ZengTao
2024-01-26 90e0a2c1a18ef254ca0c1863df59e39b98b8e885
springboot-vue3/src/main/java/com/example/springboot/component/ExcelToJsonConverter.java
@@ -12,9 +12,11 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
public class ExcelToJsonConverter {
    public static void main(String[] args) {
        String excelFilePath = "JsonFile/state.xlsx";
        String sheetName = "Sheet1";
@@ -27,13 +29,15 @@
        try (Workbook workbook = new HSSFWorkbook(new FileInputStream(excelFilePath))) {
            Sheet sheet = workbook.getSheet(sheetName);
            List<JSONObject> jsonList = new ArrayList<>();
            List<LinkedHashMap<String, Object>> jsonList = new ArrayList<>();
            Iterator<Row> rowIterator = sheet.iterator();
            // Skip the header row
            if (rowIterator.hasNext()) {
                rowIterator.next();
            }
            int plcAddressLength = 0; // 记录所有 addressLenght 的和
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
@@ -48,17 +52,33 @@
                String addressIndex = extractAddressIndex(address);
                JSONObject jsonObject = new JSONObject();
                LinkedHashMap<String, Object> jsonObject = new LinkedHashMap<>();
                jsonObject.put("codeId", name);
                jsonObject.put("addressIndex", addressIndex);
                int addressLength = 0;
                if (address.contains("~")) {
                    addressLength = 14;
                } else {
                    addressLength = 2;
                }
                jsonObject.put("addressLenght", String.valueOf(addressLength));
                jsonObject.put("unit", unit);
                plcAddressLength += addressLength;
                jsonList.add(jsonObject);
            }
            LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>();
            resultObject.put("plcAddressBegin", "DB100.0");
            resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength));
            resultObject.put("dataType", "word");
            resultObject.put("parameteInfor", jsonList);
            Gson gson = new Gson();
            String jsonOutput = gson.toJson(jsonList);
            String jsonOutput = gson.toJson(resultObject);
            try (FileWriter fileWriter = new FileWriter(outputFilePath)) {
                fileWriter.write(jsonOutput);
@@ -81,6 +101,4 @@
        }
        return "";
    }
}
}