main
黄海 8 months ago
parent 6f0279745f
commit 22177355bd

@ -1,26 +1,17 @@
package com.dsideal.base.Tools.FillData.City;
import cn.hutool.core.io.FileUtil;
import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit;
import com.dsideal.base.Tools.FillData.ExcelKit.ExcelUtil;
import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil;
import com.dsideal.base.Tools.Util.ReadDocxUtil;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFChart;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import com.jfinal.plugin.activerecord.Record;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
public class C7_Test {
@ -56,61 +47,92 @@ public class C7_Test {
ExcelKit.CopyHead(sampleExcelPath, outSheet, headerStyle);
//1、用POI打开指定文件EXCEL获取它的最后一个有效数据行就是这个城市的整体数据汇总
List<List<String>> sheetList = ExcelKit.readSheet(sourceExcel,4);
List<List<String>> sheetList = ExcelKit.readSheet(sourceExcel, 4);
//最后一行的数据就是整个市州的数据
List<String> rowData = sheetList.getLast();
/*
EXCELAIMap<String,String>key使 _,_
I
O
P
M
N
S
Z
AA
X
Y
AD
AJ
AK
AH
AI
AN
AQ
AR
AO
AP
AU
AX
AY
AV
AW
*/
for (List<String> strings : sheetList) {
for (String string : strings) {
System.out.print(string+" ");
}
System.out.println();
}
//
// /*2、按下面的列号读取相应的数据
// 学前:
// 学校总数: I
// 招生总数: O
// 在校生总数P
// 教职工总数M
// 专任教师数N
// 小学:
// 学校总数: S
// 招生总数: Z
// 在校生总数AA
// 教职工总数X
// 专任教师数Y
// 初中:
// 学校总数:
// 招生总数: AD
// 在校生总数AK
// 教职工总数AH
// 专任教师数AI
// 高中:
// 学校总数: AN
// 招生总数: AQ
// 在校生总数AR
// 教职工总数AO
// 专任教师数AP
// 中职:
// 学校总数: AU
// 招生总数: AX
// 在校生总数AY
// 教职工总数AV
// 专任教师数AW
// */
//
// List<String> stageList = new ArrayList<>();
// stageList.add("学前");
// stageList.add("小学");
// stageList.add("初中");
// stageList.add("高中");
// stageList.add("中职");
// for(String stage:stageList){
// //按规则获取当前学段中的学校总数,招生总数,在校生总数,教职工总数,专任教师数
// String schoolCount=ExcelKit.transLetter2Num("I");
//
// }
// 初始化数据
String[] a = {"学前", "小学", "初中", "高中", "中职"};
String[] b = {"招生总数", "在校生总数", "教职工总数", "专任教师数"};
String[][] data = {
{"学前", "学校总数", "I"},
{"学前", "招生总数", "O"},
{"学前", "在校生总数", "P"},
{"学前", "教职工总数", "M"},
{"学前", "专任教师数", "N"},
{"小学", "学校总数", "S"},
{"小学", "招生总数", "Z"},
{"小学", "在校生总数", "AA"},
{"小学", "教职工总数", "X"},
{"小学", "专任教师数", "Y"},
{"初中", "学校总数", "AD"},
{"初中", "招生总数", "AJ"},
{"初中", "在校生总数", "AK"},
{"初中", "教职工总数", "AH"},
{"初中", "专任教师数", "AI"},
{"高中", "学校总数", "AN"},
{"高中", "招生总数", "AQ"},
{"高中", "在校生总数", "AR"},
{"高中", "教职工总数", "AO"},
{"高中", "专任教师数", "AP"},
{"中职", "学校总数", "AU"},
{"中职", "招生总数", "AX"},
{"中职", "在校生总数", "AY"},
{"中职", "教职工总数", "AV"},
{"中职", "专任教师数", "AW"}
};
// 创建存储结构+填充数据
Map<String, String> schoolData = new LinkedHashMap<>();
for (String[] entry : data) {
String grade = entry[0];
String metric = entry[1];
String value = entry[2];
schoolData.put(grade + "_" + metric, value);
}
//开始填表
int rowIndex = 0;
for (String s : a) {
for (String t : b) {
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList("昭通市", t,"2023",s, rowData.get(ExcelKit.transLetter2Num(schoolData.get(s + "_" + t))),"云南省"), dataStyle);
}
}
//保存文件
ExcelKit.saveExcel(excelPath, outWorkbook);
System.out.println("市州所有文件处理完成!");

@ -304,8 +304,8 @@ public class ExcelKit {
* @param letterColIdx
* @return rlt A -> 0 BA -> 52 CA -> 78
*/
public static long transLetter2Num(String letterColIdx) {
long rlt = 0;
public static int transLetter2Num(String letterColIdx) {
int rlt = 0;
letterColIdx = letterColIdx.toUpperCase();
String[] sts = letterColIdx.split("");
int length = sts.length;
@ -327,6 +327,4 @@ public class ExcelKit {
}
return --rlt;
}
}

Loading…
Cancel
Save