main
黄海 8 months ago
parent dba9d4c9ca
commit 44a76d1448

@ -98,60 +98,74 @@ public class A1 {
List<List<String>> dataList = ExcelKit.readSecondTable(sourceExcel, 0, "自动计算招生数、在校生数",
2, "K");
//这个工作表有四个蓝色列D:预测总招生数E:修正城区招生AF:修正镇区招生BG:修正乡村招生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);
}
}
}

@ -593,14 +593,12 @@ public class ExcelKit {
List<String> rowData = dataList.get(i);
if (rowData.isEmpty()) {
dataList.remove(i);
continue;
}
String firstCell = rowData.getFirst();
if (rowData.size() < tableWidth || !NumberUtil.isNumber(firstCell)) {
}else if(rowData.getFirst()==null || !rowData.getFirst().matches("[0-9]+")){
dataList.remove(i);
break;
}
}
//printTable(dataList);
//System.out.println("===========================================");
return dataList;
}

Loading…
Cancel
Save