main
黄海 8 months ago
commit ab2fcebbb5

@ -0,0 +1,12 @@
数据从 (昭通市)汇总表.xls 文件中获取
城镇化率 = 城镇人口 / 总人口 保留两位小数
总人口:B
城镇人口:D
乡村人口:E
城镇化率:计算,
每项需要除以10000
单位:万人

@ -19,7 +19,7 @@ import java.util.List;
public class A1 {
//示例Excel
static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\市\\【8】人口总体情况\\人口总体情况.xlsx";
static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【1】学前幼儿入园总量预测\\学前幼儿入园总量预测.xlsx";
//源文件
static String parentPath = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告";
@ -57,20 +57,88 @@ public class A1 {
if (file.isDirectory()) continue;
if (!file.getName().endsWith(".xlsx") && !file.getName().endsWith(".xls"))
continue;
//城市名称
String cityName = ru.getCityOrAreaName(file.getName());
//县区名称
String areaName = ru.getCityOrAreaName(file.getName());
if (StrKit.isBlank(areaName)) {
System.out.println("发现异常数据,请人工处理:" + file.getName());
System.exit(0);
}
//市州名称
//此文件的路径中最后一层的目录名称,应该是带着市州名称 ,把最后一层子目录的名称提出
String parentPathName = file.getParentFile().getName();
String cityName = ru.getCityOrAreaName(parentPathName);
if (StrKit.isBlank(cityName) || cityName.equals(areaName)) {
parentPathName = file.getParentFile().getParentFile().getName();
cityName = ru.getCityOrAreaName(parentPathName);
}
if (StrKit.isBlank(cityName)) {
System.out.println("发现异常数据,请人工处理:" + file.getName());
System.exit(0);
}
System.out.println("正在进行" + cityName + "的数据填充~");
//县区名称
System.out.println("正在进行" + cityName + "-" + areaName + "的数据填充~");
String sourceExcel = file.getAbsolutePath();
//System.out.println(file.getName());
List<List<String>> dataList = ExcelKit.readSecondTable(sourceExcel, 0, "自动计算招生数、在校生数",
2, "K");
ExcelKit.printTable(dataList);
break;
//入园总数
for (List<String> stringList : dataList) {
//年份
int year = Integer.parseInt(stringList.get(0));
//3预测总招生数
int zss = Integer.parseInt(stringList.get(3).split("\\.")[0]);
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
"总入园数", "", String.valueOf(zss), "", areaName, cityName), dataStyle);
}
//2022入园基数
for (List<String> ignored : dataList) {
//年份
int year = 2022;
//3预测总招生数
int zss = Integer.parseInt(dataList.getFirst().get(3).split("\\.")[0]);
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
"2022年基数", "", String.valueOf(zss), "", 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]);
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
"", "城区", "", String.valueOf(v), areaName, cityName), dataStyle);
}
//镇区
for (List<String> stringList : dataList) {
//年份
int year = Integer.parseInt(stringList.get(0));
int v = Integer.parseInt(stringList.get(5).split("\\.")[0]);
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
"", "镇区", "", String.valueOf(v), areaName, cityName), dataStyle);
}
//乡村
for (List<String> stringList : dataList) {
//年份
int year = Integer.parseInt(stringList.get(0));
int v = Integer.parseInt(stringList.get(5).split("\\.")[0]);
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
"", "乡村", "", String.valueOf(v), areaName, cityName), dataStyle);
}
}
}
//保存文件

@ -17,6 +17,7 @@ public class ReadDocxUtil {
public DataEaseModel dm = new DataEaseModel();
public String privinceName = "云南省";
/**
*
*

Loading…
Cancel
Save