main
黄海 9 months ago
parent 0783660be5
commit 538225ab61

@ -13,8 +13,11 @@ import org.dom4j.DocumentException;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.apache.poi.ss.usermodel.Row;
public class A12 {
//示例Excel
@ -54,7 +57,7 @@ public class A12 {
//找到parentPath下一级目录中所有文件
List<File> files = FileUtil.loopFiles(parentPath, file -> true);
int rowIndex = 0;
//处理这个目录
if (files != null) {
for (File file : files) {
@ -82,17 +85,71 @@ public class A12 {
System.exit(0);
}
//县区名称
//System.out.println("正在进行" + cityName + "-" + areaName + "的数据填充~");
//System.out.println(file.getAbsolutePath());
int chartNumber = 36;
List<List<String>> source36 = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber, 1);
List<List<String>> source36 = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber, 0);
if (source36 == null) {
continue;
}
//需要处理下人与万人的单位兼容
for (int i = 0; i < source36.size(); i++) {
List<String> row = source36.get(i);
for (int j = 1; j <= 4; j++) {
if (Double.parseDouble(row.get(j)) < 10) {
row.set(j, String.valueOf((int) Double.parseDouble(row.get(j)) * 10000));
}
}
}
chartNumber = 37;
List<List<String>> source37 = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber, 1);
List<List<String>> source37 = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber, 0);
if (source37 == null) {
continue;
}
for (int i = 0; i < source36.size(); i++) {
List<String> row36 = source36.get(i);
List<String> row37 = source37.get(i);
Row outRow = outSheet.createRow(++rowIndex);
String year = row36.getFirst();//年份
//学前
String xq_jzg = row36.get(1);//教职工数
String xq_jzg2022 = source36.getFirst().get(1);//教职工2022基数
String xq_szqk = String.valueOf((int)(Double.parseDouble(xq_jzg2022) - Double.parseDouble(xq_jzg)));//缺口、富裕
String xq_ysmj = row37.get(1);//园舍面积
String xq_ysmj2022 = source37.getFirst().get(1);//园舍面积2022基数
String xq_ysmjqk = String.format("%.2f", Double.parseDouble(xq_ysmj2022) - Double.parseDouble(xq_ysmj));
//小学
String xx_jzg = row36.get(2);//教职工数
String xx_jzg2022 = source36.getFirst().get(2);//教职工2022基数
String xx_szqk = String.valueOf((int)(Double.parseDouble(xx_jzg2022) - Double.parseDouble(xx_jzg)));//缺口、富裕
String xx_ysmj = row37.get(2);//园舍面积
String xx_ysmj2022 = source37.getFirst().get(2);//园舍面积2022基数
String xx_ysmjqk = String.format("%.2f", Double.parseDouble(xx_ysmj2022) - Double.parseDouble(xx_ysmj));
//初中
String cz_jzg = row36.get(3);//教职工数
String cz_jzg2022 = source36.getFirst().get(3);//教职工2022基数
String cz_szqk = String.valueOf((int)(Double.parseDouble(cz_jzg2022) - Double.parseDouble(cz_jzg)));//缺口、富裕
String cz_ysmj = row37.get(3);//园舍面积
String cz_ysmj2022 = source37.getFirst().get(3);//园舍面积2022基数
String cz_ysmjqk = String.format("%.2f", Double.parseDouble(cz_ysmj2022) - Double.parseDouble(cz_ysmj));
//高中
String gz_jzg = row36.get(4);//教职工数
String gz_jzg2022 = source36.getFirst().get(4);//教职工2022基数
String gz_szqk = String.valueOf((int)(Double.parseDouble(gz_jzg2022) - Double.parseDouble(gz_jzg)));//缺口、富裕
String gz_ysmj = row37.get(4);//园舍面积
String gz_ysmj2022 = source37.getFirst().get(4);//园舍面积2022基数
String gz_ysmjqk = String.format("%.2f", Double.parseDouble(gz_ysmj2022) - Double.parseDouble(gz_ysmj));
ExcelKit.putData(outRow, Arrays.asList(year, areaName,
xq_jzg, xq_jzg2022, xq_szqk, xq_ysmj, xq_ysmj2022, xq_ysmjqk, // 学前
xx_jzg, xx_jzg2022, xx_szqk, xx_ysmj, xx_ysmj2022, xx_ysmjqk, // 小学
cz_jzg, cz_jzg2022, cz_szqk, cz_ysmj, cz_ysmj2022, cz_ysmjqk, // 初中
gz_jzg, gz_jzg2022, gz_szqk, gz_ysmj, gz_ysmj2022, gz_ysmjqk, // 高中
cityName), dataStyle);
}
}
}
//保存文件

@ -14,7 +14,7 @@ public class TestOutSideExcel {
public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException {
String sourceDoc = "D:\\dsWork\\YunNanDsBase\\Doc\\全省及州市县区人口与教育报告集20241023\\133个县区报告2022\\县区研究报告\\丽江市各县区报告5\\宁蒗县\\宁蒗县人口变化及其对教育的影响.docx";
String sourceDoc = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【12】新-教育资源配置发展预测\\6.11鲁甸县)《县(区)人口变化及其对教育的影响》(4).docx";
//需要第几个图表
for (int chartNumber = 36; chartNumber <= 37; chartNumber++) {
System.out.println("正在处理第" + chartNumber + "个图表的信息~");

Loading…
Cancel
Save