|
|
|
@ -98,60 +98,74 @@ public class A1 {
|
|
|
|
|
List<List<String>> dataList = ExcelKit.readSecondTable(sourceExcel, 0, "自动计算招生数、在校生数",
|
|
|
|
|
2, "K");
|
|
|
|
|
|
|
|
|
|
//这个工作表有四个蓝色列:D:预测总招生数,E:修正城区招生A,F:修正镇区招生B,G:修正乡村招生C
|
|
|
|
|
//有时,有也三个蓝色列:D:预测总招生数,E:修正县城内招生,G:修正县城外招生
|
|
|
|
|
//处理办法:先判断是4个的还是3个的,如果是3个的,就把修正县城外招生拆分开两项,第一项=修正县城外招生*30%,第二项=修正县城外招生- 第一项
|
|
|
|
|
//至于是4个还是3个的,可以通过获取第二个table的列宽来获取,4列的时候,整个表的列数应该是11列,3列的时候,整个表的列数应该是9列
|
|
|
|
|
//取出第一行
|
|
|
|
|
if (dataList.isEmpty()) continue;
|
|
|
|
|
List<String> x = dataList.getFirst();
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
for (String s : x) if (s == null) cnt++;
|
|
|
|
|
int colsCount = x.size() - cnt;
|
|
|
|
|
System.out.println("列数=" + colsCount);
|
|
|
|
|
|
|
|
|
|
//入园总数
|
|
|
|
|
for (List<String> stringList : dataList){
|
|
|
|
|
for (List<String> stringList : dataList) {
|
|
|
|
|
//年份
|
|
|
|
|
int year = Integer.parseInt(stringList.get(0));
|
|
|
|
|
//3预测总招生数
|
|
|
|
|
String zss = stringList.get(3).split("\\.")[0];
|
|
|
|
|
//D预测总招生数
|
|
|
|
|
String v = stringList.get(ExcelKit.transLetter2Num("D")).split("\\.")[0];
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"总入园数", "", zss, "", areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "总入园数", "", v, "", areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//2022入园基数
|
|
|
|
|
for (List<String> ignored : dataList) {
|
|
|
|
|
//年份
|
|
|
|
|
int year = 2022;
|
|
|
|
|
//3预测总招生数
|
|
|
|
|
int zss = Integer.parseInt(dataList.getFirst().get(3).split("\\.")[0]);
|
|
|
|
|
//D预测总招生数
|
|
|
|
|
int v = Integer.parseInt(dataList.getFirst().get(ExcelKit.transLetter2Num("D")).split("\\.")[0]);
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"2022年基数", "", String.valueOf(zss), "", areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "2022年基数", "", String.valueOf(v), "", areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//城区
|
|
|
|
|
for (List<String> stringList : dataList) {
|
|
|
|
|
//年份
|
|
|
|
|
int year = Integer.parseInt(stringList.get(0));
|
|
|
|
|
//4修正城区招生A
|
|
|
|
|
int v = Integer.parseInt(stringList.get(4).split("\\.")[0]);
|
|
|
|
|
int year = Integer.parseInt(stringList.getFirst());
|
|
|
|
|
//E:修正城区招生A 修正县城内招生
|
|
|
|
|
int v = Integer.parseInt(stringList.get(ExcelKit.transLetter2Num("E")).split("\\.")[0]);
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"", "城区", "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//镇区
|
|
|
|
|
//修正镇区招生B 修正县城外招生*30%
|
|
|
|
|
for (List<String> stringList : dataList) {
|
|
|
|
|
//年份
|
|
|
|
|
int year = Integer.parseInt(stringList.get(0));
|
|
|
|
|
|
|
|
|
|
int v = Integer.parseInt(stringList.get(5).split("\\.")[0]);
|
|
|
|
|
int year = Integer.parseInt(stringList.getFirst());
|
|
|
|
|
//F:修正镇区招生B 修正县城内招生
|
|
|
|
|
int v = Integer.parseInt(stringList.get(ExcelKit.transLetter2Num("F")).split("\\.")[0]);
|
|
|
|
|
if (colsCount == 9) {
|
|
|
|
|
v = (int) (v * 0.3);//乘以0.3
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"", "镇区", "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "", "镇区", "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//乡村
|
|
|
|
|
// 修正乡村招生C 修正县城外招生-修正县城外招生*30%
|
|
|
|
|
for (List<String> stringList : dataList) {
|
|
|
|
|
//年份
|
|
|
|
|
int year = Integer.parseInt(stringList.get(0));
|
|
|
|
|
int v = Integer.parseInt(stringList.get(6).split("\\.")[0]);
|
|
|
|
|
int year = Integer.parseInt(stringList.getFirst());
|
|
|
|
|
//G:6修正乡村招生G
|
|
|
|
|
int v = Integer.parseInt(stringList.get(ExcelKit.transLetter2Num("G")).split("\\.")[0]);
|
|
|
|
|
if (colsCount == 9) {
|
|
|
|
|
v = Integer.parseInt(stringList.get(ExcelKit.transLetter2Num("F")).split("\\.")[0]);
|
|
|
|
|
int d = (int) (v * 0.3);//乘以0.3
|
|
|
|
|
v = v - d;//剩下70%
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"", "乡村", "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "", "乡村", "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|