main
黄海 8 months ago
parent 8b8205805d
commit ac1fd4cecb

@ -70,59 +70,85 @@ public class C11 {
int firstChartNumber = 36, secondChartNumber = 37;
//占地面积37
List<List<String>> source1 = ExcelKit.getChartData(file.getAbsolutePath(), firstChartNumber-1, 1, 10);
List<List<String>> source1 = ExcelKit.getChartData(file.getAbsolutePath(), firstChartNumber - 1, 1, 10);
//年份,学前,小学,初中,高中
// 0 1 2 3 4
//所有相关2022基数的列都使用2022的数据
//学前教职工2022基数 小学教职工2022基数 初中教职工2022基数 高中用房2022年基数
//取出第一条数据即2022年数据
List<String> firRow = source1.getFirst();
String xqjzg = firRow.get(1);//学前教职工2022基数
String xxjzg = firRow.get(2);//小学教职工2022基数
String zxjzg = firRow.get(3);//初中教职工2022基数
String gxjzg = firRow.get(4);//高中教职工2022基数
int xqjzgJS = (int) Double.parseDouble(firRow.get(1)) * 10000;//学前教职工2022基数
int xxjzgJS = (int) Double.parseDouble(firRow.get(2)) * 10000;//小学教职工2022基数
int zxjzgJS = (int) Double.parseDouble(firRow.get(3)) * 10000;//初中教职工2022基数
int gxjzgJS = (int) Double.parseDouble(firRow.get(4)) * 10000;//高中教职工2022基数
List<List<String>> source2 = ExcelKit.getChartData(file.getAbsolutePath(), secondChartNumber-1, 1, 10);
List<List<String>> source2 = ExcelKit.getChartData(file.getAbsolutePath(), secondChartNumber - 1, 1, 10);
//年份,学前,小学,初中,高中
// 0 1 2 3 4
List<String> secRow = source2.getFirst();
String xqjzgMJ = secRow.get(1);//学前面积2023年基数
String xxjzgMJ = secRow.get(2);//小学面积2023年基数
String zxjzgMJ = secRow.get(3);//初中面积2023年基数
String gxjzgMJ = secRow.get(4);//高中面积2023年基数
String xqjzgMJJS = secRow.get(1);//学前面积2023年基数
String xxjzgMJJS = secRow.get(2);//小学面积2023年基数
String zxjzgMJJS = secRow.get(3);//初中面积2023年基数
String gxjzgMJJS = secRow.get(4);//高中面积2023年基数
//遍历source1
for (int i = 0; i < Math.min(source1.size(),source2.size()); i++) {
for (int i = 0; i < Math.min(source1.size(), source2.size()); i++) {
List<String> r1 = source1.get(i);
List<String> r2 = source2.get(i);
Row outRow = outSheet.createRow(++rowIndex);
String sr11=String.format("%.2f",Double.parseDouble(r1.get(1)));
String sr12=String.format("%.2f",Double.parseDouble(r1.get(2)));
String sr13=String.format("%.2f",Double.parseDouble(r1.get(3)));
String sr14=String.format("%.2f",Double.parseDouble(r1.get(4)));
//学前教职工数
int xq_jzgs = (int) Double.parseDouble(r1.get(1)) * 10000;
int xx_jzgs = (int) Double.parseDouble(r1.get(2)) * 10000;
int cz_jzgs = (int) Double.parseDouble(r1.get(3));
int gg_jzgs = (int) Double.parseDouble(r1.get(4));
String sr21=String.format("%.2f",Double.parseDouble(r2.get(1)));
String sr22=String.format("%.2f",Double.parseDouble(r2.get(2)));
String sr23=String.format("%.2f",Double.parseDouble(r2.get(3)));
String sr24=String.format("%.2f",Double.parseDouble(r2.get(4)));
//学前园舍面积
String xq_xsmj = String.format("%.2f", Double.parseDouble(r2.get(1)));
String xx_xsmj = String.format("%.2f", Double.parseDouble(r2.get(2)));
String cz_xsmj = String.format("%.2f", Double.parseDouble(r2.get(3)));
String gz_xsmj = String.format("%.2f", Double.parseDouble(r2.get(4)));
ExcelKit.putData(outRow, new ArrayList<>(
Arrays.asList(cityName, r1.getFirst(),
sr11, xqjzg, String.format("%.2f",Double.parseDouble(xqjzg) - Double.parseDouble(r1.get(1))),//学前教职工数2022基数减去当前值得到预测值
sr21, xqjzgMJ, String.format("%.2f",Double.parseDouble(xqjzgMJ) - Double.parseDouble(r2.get(1))),//学前占地面积2023基数减去当前值得到预测值
sr12, xxjzg, String.format("%.2f",Double.parseDouble(xxjzg) - Double.parseDouble(r1.get(2))),//小学教职工数2022基数减去当前值得到预测值
sr22, xxjzgMJ, String.format("%.2f",Double.parseDouble(xxjzgMJ) - Double.parseDouble(r2.get(2))),//小学占地面积2023基数减去当前值得到预测值
sr13, zxjzg, String.format("%.2f",Double.parseDouble(zxjzg) - Double.parseDouble(r1.get(3))),//初中教职工数2022基数减去当前值得到预测值
sr23, zxjzgMJ, String.format("%.2f",Double.parseDouble(zxjzgMJ) - Double.parseDouble(r2.get(3))),//初中占地面积2023基数减去当前值得到预测值
sr14, gxjzg, String.format("%.2f",Double.parseDouble(gxjzg) - Double.parseDouble(r1.get(4))),//高中教职工数2022基数减去当前值得到预测值
sr24, gxjzgMJ, String.format("%.2f",Double.parseDouble(gxjzgMJ) - Double.parseDouble(r2.get(4))),//高中占地面积2023基数减去当前值得到预测值
"", "", "", "", "", "", "云南省")), dataStyle);
Arrays.asList(
cityName,//城市名称
r1.getFirst(),//年份
String.valueOf(xq_jzgs), //学前教职工
String.valueOf(xqjzgJS),//2022基数
String.valueOf(xqjzgJS -xq_jzgs),//学前师资缺口
xq_xsmj,//学前园舍面积
xqjzgMJJS,//学前园舍面积2022年基数
String.format("%.2f", Double.parseDouble(xqjzgMJJS) - Double.parseDouble(r2.get(1))),//学前占地面积2022基数减去当前值得到预测值
//小学
String.valueOf(xx_jzgs),
String.valueOf(xxjzgJS),
String.valueOf(xxjzgJS - Double.parseDouble(r1.get(2))),//小学教职工数2022基数减去当前值得到预测值
xx_xsmj,
xxjzgMJJS,
String.format("%.2f", Double.parseDouble(xxjzgMJJS) - Double.parseDouble(r2.get(2))),//小学占地面积2023基数减去当前值得到预测值
//初中
String.valueOf(cz_jzgs),
String.valueOf(zxjzgJS),
String.valueOf(zxjzgJS - Double.parseDouble(r1.get(3))),//初中教职工数2022基数减去当前值得到预测值
cz_xsmj,
zxjzgMJJS,
String.format("%.2f", Double.parseDouble(zxjzgMJJS) - Double.parseDouble(r2.get(3))),//初中占地面积2023基数减去当前值得到预测值
//高中
String.valueOf(gg_jzgs),
String.valueOf(gxjzgJS),
String.valueOf(gxjzgJS - Double.parseDouble(r1.get(4))),//高中教职工数2022基数减去当前值得到预测值
gz_xsmj,
gxjzgMJJS,
String.format("%.2f", Double.parseDouble(gxjzgMJJS) - Double.parseDouble(r2.get(4))),//高中占地面积2023基数减去当前值得到预测值
"", "", "", "", "", "", "云南省"
)), dataStyle);
}
}
}

@ -502,12 +502,9 @@ public class ExcelKit {
data.remove(i);
}
}
} else {
System.out.println("期望数量>=" + expectLimit + ",现在有" + totalRow + "条理解为数据读取正确直接返回POI获取的数据列表...");
}
System.out.println("==========================================================================================================");
return data;
}

Loading…
Cancel
Save