From 6a1bbf2fa4bff06b8e246d7cd6f7a45eb7691619 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 8 Apr 2025 14:24:21 +0800 Subject: [PATCH] 'commit' --- .idea/.cache/.Apifox_Helper/.toolWindow.db | Bin 0 -> 106496 bytes .../base/Tools/Excel/Bean/School2019.java | 31 ++++++++++++++++++ .../dsideal/base/Tools/Excel/ExcelReader.java | 12 ++++--- .../dsideal/base/Tools/Excel/SchoolData.java | 23 ------------- .../Tools/Excel/{ => Util}/ExcelUtil.java | 19 ++--------- 5 files changed, 41 insertions(+), 44 deletions(-) create mode 100644 .idea/.cache/.Apifox_Helper/.toolWindow.db create mode 100644 src/main/java/com/dsideal/base/Tools/Excel/Bean/School2019.java delete mode 100644 src/main/java/com/dsideal/base/Tools/Excel/SchoolData.java rename src/main/java/com/dsideal/base/Tools/Excel/{ => Util}/ExcelUtil.java (51%) diff --git a/.idea/.cache/.Apifox_Helper/.toolWindow.db b/.idea/.cache/.Apifox_Helper/.toolWindow.db new file mode 100644 index 0000000000000000000000000000000000000000..5f5a9e7b4250e786310fe1e0d8b3dcb6de72c272 GIT binary patch literal 106496 zcmeI(Pj3`u7y$4sl>P$_hLEa+FvJ6z7|dEd>A_kSArwTq1UNO*?qFB8JIm~pQjbpTWd$!O5@S!Gkl~&h9L`MGn2J`8C-v?=$b)zVmyYnR#3Cu6?)KOrzj&oNR|_ zuv7^uQ&W|%f}m2V%w(Ul*{Ar*+tWoO`**5zeAMAg zi~H|iz3}_HXWskk{FjS=oO^YC_Nc+)1PBlyK!5-N0t5&UAV7cs0RjXF{D;6#ADo_D zynK1;=XcU@qZLK%XZMrVwJ;3_M`u><)t2kEpuYU|YAqPVgAW(xx8p|Cx)W|kLA~~{ z9^Cmh``lk$4es8%d3*WZqu^HU(Z>t(>0alcLv|eQr14smJd2Xvki*E`I7!RxY!XE? z?nFtLHskj2sD8LSv>z;wPq(6^+W&5O>(imu(opNOq1NZU)<;WcW){D>JXLA78`1Ob z(^mF3(e?a7dhPWA$$E8geD=lM{On@2I`zvJJ=!FCx)XKN-1bJZo5soBXk=lCdh~ow zzI8D8W}`Q?qsZG?Vh+1x#GNqR8nm{fbSrM;SsTPUVUo4eC>ey3sN0F#-BPEWq%}BQ zPHJ|dVC#LO?(p0WXK)bB8e37=h?0JDGmf7$qkeNEZtT@d6_fw*Ialj<*xlW|{(9_( zZrm=W@O-;Jng9vi>v=7F z7Uh7YK}BfpsERH+~=y066TY|VGD$m>7k^Vi{%X6JBG zQ4Y69)|6S_Y?;x29|zZJ*O%|F)`Kfo4$kx>hokvV9tFgW009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXjU%>wV$wbfB*pk1PBly dK!5-N0t5&UAV7cs0RjXF5FkK+009C7{smit+q3`x literal 0 HcmV?d00001 diff --git a/src/main/java/com/dsideal/base/Tools/Excel/Bean/School2019.java b/src/main/java/com/dsideal/base/Tools/Excel/Bean/School2019.java new file mode 100644 index 00000000..2e561b6c --- /dev/null +++ b/src/main/java/com/dsideal/base/Tools/Excel/Bean/School2019.java @@ -0,0 +1,31 @@ +package com.dsideal.base.Tools.Excel.Bean; + + +import cn.idev.excel.annotation.ExcelProperty; +import com.dsideal.base.Tools.Excel.Util.ExcelUtil; +import lombok.Data; + +@Data +public class School2019 { + @ExcelProperty(index = 1) // B列 + private String schoolName; + + @ExcelProperty(index = 3) // D列 + private String schoolType; + + @ExcelProperty(index = 5) // F列 + private Integer schoolCount; + + @ExcelProperty(index = 350) // MM列 + private String city; + + @ExcelProperty(index = 351) // MN列 + private String district; + + public static void main(String[] args) { + // 测试字母标号转列索引 + String columnLetter = "MM"; // 示例输入 + int columnIndex = ExcelUtil.columnLetterToIndex(columnLetter); + System.out.printf("字母标号 %s 对应的列索引是: %d%n", columnLetter, columnIndex); + } +} \ No newline at end of file diff --git a/src/main/java/com/dsideal/base/Tools/Excel/ExcelReader.java b/src/main/java/com/dsideal/base/Tools/Excel/ExcelReader.java index 7c02687a..5488bc94 100644 --- a/src/main/java/com/dsideal/base/Tools/Excel/ExcelReader.java +++ b/src/main/java/com/dsideal/base/Tools/Excel/ExcelReader.java @@ -3,6 +3,7 @@ package com.dsideal.base.Tools.Excel; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import cn.idev.excel.*; +import com.dsideal.base.Tools.Excel.Bean.School2019; import org.slf4j.LoggerFactory; import java.util.HashMap; @@ -16,18 +17,21 @@ public class ExcelReader { excelLogger.setLevel(Level.INFO); String filePath = "D:/dsWork/2025年收集的人口与教育数据库(20250328)/2015-2020年的数据/基础教育/2019.xlsx"; String sheetName = "基教小学"; + //跳过前7行 + int skipRows = 7; + // 从第8行开始读取(跳过前7行) - List dataList = FastExcel.read(filePath) - .head(SchoolData.class) + List dataList = FastExcel.read(filePath) + .head(School2019.class) .sheet(sheetName) - .headRowNumber(7) // 跳过前7行 + .headRowNumber(skipRows) // 跳过前skipRows行 .doReadSync(); // 使用 Map 进行分组统计 Map> cityDistrictMap = new HashMap<>(); - for (SchoolData data : dataList) { + for (School2019 data : dataList) { if (data.getSchoolCount() > 0) { String city = data.getCity(); String district = data.getDistrict(); diff --git a/src/main/java/com/dsideal/base/Tools/Excel/SchoolData.java b/src/main/java/com/dsideal/base/Tools/Excel/SchoolData.java deleted file mode 100644 index 37bf5cbc..00000000 --- a/src/main/java/com/dsideal/base/Tools/Excel/SchoolData.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dsideal.base.Tools.Excel; - - -import cn.idev.excel.annotation.ExcelProperty; -import lombok.Data; - -@Data -public class SchoolData { - @ExcelProperty(index = 1) // B列 - private String schoolName; - - @ExcelProperty(index = 3) // D列 - private String schoolType; - - @ExcelProperty(index = 5) // F列 - private Integer schoolCount; - - @ExcelProperty(index = 350) // MM列 - private String city; - - @ExcelProperty(index = 351) // MN列 - private String district; -} \ No newline at end of file diff --git a/src/main/java/com/dsideal/base/Tools/Excel/ExcelUtil.java b/src/main/java/com/dsideal/base/Tools/Excel/Util/ExcelUtil.java similarity index 51% rename from src/main/java/com/dsideal/base/Tools/Excel/ExcelUtil.java rename to src/main/java/com/dsideal/base/Tools/Excel/Util/ExcelUtil.java index 402ad3ce..03cd9b63 100644 --- a/src/main/java/com/dsideal/base/Tools/Excel/ExcelUtil.java +++ b/src/main/java/com/dsideal/base/Tools/Excel/Util/ExcelUtil.java @@ -1,24 +1,9 @@ -package com.dsideal.base.Tools.Excel; +package com.dsideal.base.Tools.Excel.Util; -import ch.qos.logback.classic.Level; -import ch.qos.logback.classic.Logger; -import org.slf4j.LoggerFactory; - public class ExcelUtil { - public static void main(String[] args) { - // 设置 com.alibaba.excel 的日志级别为 INFO - Logger excelLogger = (Logger) LoggerFactory.getLogger("com.alibaba.excel"); - excelLogger.setLevel(Level.INFO); - - // 测试字母标号转列索引 - String columnLetter = "MM"; // 示例输入 - int columnIndex = columnLetterToIndex(columnLetter); - System.out.printf("字母标号 %s 对应的列索引是: %d%n", columnLetter, columnIndex); - } - // 将字母标号转换为列索引 - private static int columnLetterToIndex(String columnLetter) { + public static int columnLetterToIndex(String columnLetter) { int index = 0; for (int i = 0; i < columnLetter.length(); i++) { char c = columnLetter.charAt(i);