diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx index c9ea650f..871de609 100644 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx and b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx differ diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx index 581681cf..b617ea1c 100644 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx and b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx differ diff --git a/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java b/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java index e64f0c64..5297f5d9 100644 --- a/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java +++ b/src/main/java/com/dsideal/base/Tools/FillData/Area/A9.java @@ -6,6 +6,7 @@ import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil; import com.dsideal.base.Tools.Util.ReadDocxUtil; import com.jfinal.kit.StrKit; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -13,6 +14,7 @@ import org.dom4j.DocumentException; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.List; public class A9 { @@ -73,7 +75,7 @@ public class A9 { if (flag) continue; //只关心发展规模数据的表格 if (!file.getName().contains(fileNameKey)) continue; - //县区名称 + //县区名称 String areaName = ru.getAreaName(file.getName()); //市州名称 String cityName = ru.getCityNameByAreaName(areaName); @@ -85,15 +87,60 @@ public class A9 { //县区名称 System.out.println("正在进行" + cityName + "-" + areaName + "的数据填充~"); int chartNumber = 2; - List> source2 = - ExcelKit.getChartData(file.getAbsolutePath(), chartNumber - 1, 0); + List> source1 = + ExcelKit.getChartData(file.getAbsolutePath(), chartNumber , 0); + + + //需要处理下人与万人的单位兼容 + int mul = 1; + if (source1 != null) { + //本例中要乘以多少呢? + String xmlPath = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; + mul = ExcelKit.getMul(xmlPath); + + for (List row : source1) { + String year = row.getFirst().split("\\.")[0]; + Row outRow = outSheet.createRow(++rowIndex); + String q1 = row.get(1); + if (StrKit.isBlank(q1)) { + q1 = "0"; + } + String v1 = String.format("%.2f", Double.parseDouble(q1) * mul / 10000); + + String q2 = row.get(2); + if (StrKit.isBlank(q2)) { + q2 = "0"; + } + String v2 = String.format("%.2f", Double.parseDouble(q2) * mul / 10000); + ExcelKit.putData(outRow, Arrays.asList(cityName, areaName, year, v1, "", v2, ""), dataStyle); + } + } chartNumber = 3; - List> source3 = - ExcelKit.getChartData(file.getAbsolutePath(), chartNumber - 1, 0); - - ExcelKit.printTable(source2); - ExcelKit.printTable(source3); + List> source2 = + ExcelKit.getChartData(file.getAbsolutePath(), chartNumber , 0); + if (source2 != null) { + //本例中要乘以多少呢? + String xmlPath = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; + mul = ExcelKit.getMul(xmlPath); + + for (List row : source2) { + String year = row.getFirst().split("\\.")[0]; + Row outRow = outSheet.createRow(++rowIndex); + String q1 = row.get(1); + if (StrKit.isBlank(q1)) { + q1 = "0"; + } + String v1 = String.format("%.2f", Double.parseDouble(q1) * mul / 10000); + + String q2 = row.get(2); + if (StrKit.isBlank(q2)) { + q2 = "0"; + } + String v2 = String.format("%.2f", Double.parseDouble(q2) * mul / 10000); + ExcelKit.putData(outRow, Arrays.asList(cityName, areaName, year, "", v1, "", v2), dataStyle); + } + } } } //保存文件