From ad28331c1e3ed456b72765874b41b83b49dc279f Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期四, 18 四月 2024 14:44:11 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java | 215 ++++++++++++++++++++++++++--------------------------- 1 files changed, 107 insertions(+), 108 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java index e1ad35c..8fbb58a 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java @@ -1,108 +1,107 @@ -package com.mes.tools; - -import com.google.gson.Gson; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -import java.io.FileInputStream; -import java.io.FileWriter; -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 = "src/main/resources/JsonFile/alarm.xlsx"; - String sheetName = "Sheet1"; - int addressColumnIndex = 0; - int nameColumnIndex = 1; - - //int unitColumnIndex = 2; - String outputFilePath = "src/main/resources/JsonFile/PlcAlarm.json"; - - try (Workbook workbook = new XSSFWorkbook(new FileInputStream(excelFilePath))) { - Sheet sheet = workbook.getSheet(sheetName); - - 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 鐨勫拰 - int addressIndex = 0; // 鑷鐨勫湴鍧�绱㈠紩 - while (rowIterator.hasNext()) { - Row row = rowIterator.next(); - - Cell nameCell = row.getCell(nameColumnIndex); - Cell addressCell = row.getCell(addressColumnIndex); - // Cell unitCell = row.getCell(unitColumnIndex); - - String name = nameCell.getStringCellValue(); - String address = addressCell.getStringCellValue(); - // String unit = unitCell.getStringCellValue(); - - // String addressIndex = extractAddressIndex(address); - - 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); - addressIndex++; - } - - LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>(); - resultObject.put("plcAddressBegin", "DB100.0"); - resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength)); - // resultObject.put("dataType", "word"); - resultObject.put("dataType", "bit"); - resultObject.put("parameteInfor", jsonList); - - Gson gson = new Gson(); - String jsonOutput = gson.toJson(resultObject); - - try (FileWriter fileWriter = new FileWriter(outputFilePath)) { - fileWriter.write(jsonOutput); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - - - private static String extractAddressIndex(String address) { - // Assuming the address format is "DB103.DBW0" or "DB103.DBB100~DBB113" - if (address.startsWith("DB") && address.contains(".DBW")) { - int startIndex = address.indexOf(".DBW") + 4; - int endIndex = address.length(); - return address.substring(startIndex, endIndex); - } else if (address.startsWith("DB") && address.contains(".DBB")) { - int startIndex2 = address.indexOf(".DBB") + 4; - int endIndex2 = address.indexOf("~"); - return address.substring(startIndex2, endIndex2); - } - return ""; - } -} +package com.mes.tools; + +import com.google.gson.Gson; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.FileInputStream; +import java.io.FileWriter; +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 = "src/main/resources/JsonFile/alarm.xlsx"; + String sheetName = "Sheet1"; + int addressColumnIndex = 0; + int nameColumnIndex = 1; + + //int unitColumnIndex = 2; + String outputFilePath = "src/main/resources/JsonFile/PlcAlarm.json"; + + try (Workbook workbook = new XSSFWorkbook(new FileInputStream(excelFilePath))) { + Sheet sheet = workbook.getSheet(sheetName); + + 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 鐨勫拰 + int addressIndex = 0; // 鑷鐨勫湴鍧�绱㈠紩 + while (rowIterator.hasNext()) { + Row row = rowIterator.next(); + + Cell nameCell = row.getCell(nameColumnIndex); + Cell addressCell = row.getCell(addressColumnIndex); + // Cell unitCell = row.getCell(unitColumnIndex); + + String name = nameCell.getStringCellValue(); + String address = addressCell.getStringCellValue(); + // String unit = unitCell.getStringCellValue(); + + // String addressIndex = extractAddressIndex(address); + + 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); + addressIndex++; + } + + LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>(); + resultObject.put("plcAddressBegin", "DB100.0"); + resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength)); + // resultObject.put("dataType", "word"); + resultObject.put("dataType", "bit"); + resultObject.put("parameteInfor", jsonList); + + Gson gson = new Gson(); + String jsonOutput = gson.toJson(resultObject); + + try (FileWriter fileWriter = new FileWriter(outputFilePath)) { + fileWriter.write(jsonOutput); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + + private static String extractAddressIndex(String address) { + // Assuming the address format is "DB103.DBW0" or "DB103.DBB100~DBB113" + if (address.startsWith("DB") && address.contains(".DBW")) { + int startIndex = address.indexOf(".DBW") + 4; + int endIndex = address.length(); + return address.substring(startIndex, endIndex); + } else if (address.startsWith("DB") && address.contains(".DBB")) { + int startIndex2 = address.indexOf(".DBB") + 4; + int endIndex2 = address.indexOf("~"); + return address.substring(startIndex2, endIndex2); + } + return ""; + } +} -- Gitblit v1.8.0