diff --git a/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测.xlsx b/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测.xlsx
index d343ec9f..8c2ccf1a 100644
Binary files a/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测.xlsx and b/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测.xlsx differ
diff --git a/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测【成果】.xlsx b/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测【成果】.xlsx
deleted file mode 100644
index 71ed919d..00000000
Binary files a/Doc/待处理/区/【12】新-教育资源配置发展预测/新-教育资源配置发展预测【成果】.xlsx and /dev/null differ
diff --git a/pom.xml b/pom.xml
index b8f79b80..916808b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,6 +189,13 @@
dom4j
2.1.4
+
+
+ jaxen
+ jaxen
+ 1.1.6
+ compile
+
redis.clients
diff --git a/src/main/java/com/dsideal/base/Tools/FillData/Area/A12.java b/src/main/java/com/dsideal/base/Tools/FillData/Area/A12.java
index 4b57df47..88caf68b 100644
--- a/src/main/java/com/dsideal/base/Tools/FillData/Area/A12.java
+++ b/src/main/java/com/dsideal/base/Tools/FillData/Area/A12.java
@@ -91,18 +91,32 @@ public class A12 {
//需要处理下人与万人的单位兼容
if (source1 != null) {
+ //本例中要乘以多少呢?
+ String xmlPath = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml";
+ int mul = ExcelKit.getMul(xmlPath);
for (List row : source1) {
for (int j = 1; j <= 4; j++) {
if (j + 1 > row.size()) continue;
- if (Double.parseDouble(row.get(j)) < 10) {
- row.set(j, String.valueOf((int) (Double.parseDouble(row.get(j)) * 10000)));
- }
+ row.set(j, String.valueOf((int) (Double.parseDouble(row.get(j)) * mul)));
}
}
}
chartNumber = 37;
List> source2 = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber, 0);
+ //需要处理下平方米与万平方米的单位兼容
+ if (source2 != null) {
+ //本例中要乘以多少呢?
+ String xmlPath = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml";
+ int mul = ExcelKit.getMul(xmlPath);
+ for (List row : source2) {
+ for (int j = 1; j <= 4; j++) {
+ if (j + 1 > row.size()) continue;
+ row.set(j, String.valueOf((int) (Double.parseDouble(row.get(j)) * mul)));
+ }
+ }
+ }
+
if (source1 != null) {
for (int i = 0; i < source1.size(); i++) {
List row36 = source1.get(i);
diff --git a/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java b/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java
index 85344321..8ac92f9e 100644
--- a/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java
+++ b/src/main/java/com/dsideal/base/Tools/FillData/ExcelKit/ExcelKit.java
@@ -12,6 +12,7 @@ import org.apache.poi.xwpf.usermodel.XWPFChart;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
+import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import java.io.*;
@@ -645,4 +646,25 @@ public class ExcelKit {
}
return res;
}
+
+ /**
+ * 获取单位
+ * @param xmlPath
+ * @return
+ */
+ public static int getMul(String xmlPath) {
+ try {
+ SAXReader reader = new SAXReader(); // 创建 SAXReader 对象,读取 XML 文件
+ Document document = reader.read(new File(xmlPath));
+ String xpath = "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:title/c:tx/c:rich/a:p/a:r/a:t";
+ Node node = document.selectSingleNode(xpath);
+ String s = node.getText();
+ if (s.contains("万")) return 10000;
+ if (s.contains("千")) return 1000;
+ if (s.contains("百")) return 100;
+ } catch (Exception err) {
+ System.out.println(err);
+ }
+ return 1;
+ }
}
diff --git a/src/main/java/com/dsideal/base/Tools/Test/Sample.xml b/src/main/java/com/dsideal/base/Tools/Test/Sample.xml
index 30fba4ca..0f05fd30 100644
--- a/src/main/java/com/dsideal/base/Tools/Test/Sample.xml
+++ b/src/main/java/com/dsideal/base/Tools/Test/Sample.xml
@@ -20,30 +20,20 @@
-
-
-
-
-
-
-
-
-
-
-
+
-
+
- [人口数据表.xlsx]毛入学率!$B$1
+ Sheet1!$B$1
- 幼儿园
+ 学前
@@ -51,7 +41,7 @@
-
+
@@ -62,141 +52,108 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [人口数据表.xlsx]毛入学率!$A$2:$A$10
+
+ Sheet1!$A$3:$A$15
General
-
+
- 2015
+ 2023
- 2016
+ 2024
- 2017
+ 2025
- 2018
+ 2026
- 2019
+ 2027
- 2020
+ 2028
- 2021
+ 2029
- 2022
+ 2030
- 2023
+ 2031
+
+
+ 2032
+
+
+ 2033
+
+
+ 2034
+
+
+ 2035
- [人口数据表.xlsx]毛入学率!$B$2:$B$10
+ Sheet1!$B$3:$B$15
- General
-
+ 0.00_
+
- 57.58
+ 0.14069999999999999
- 65.099999999999994
+ 0.1507
- 66.25
+ 0.16039999999999999
- 68.2
+ 0.15959999999999999
- 68.7
+ 0.15870000000000001
- 77.88
+ 0.15790000000000001
- 77.77
+ 0.157
- 81.17
+ 0.15620000000000001
- 88.72
+ 0.15540000000000001
+
+
+ 0.1545
+
+
+ 0.1537
+
+
+ 0.15290000000000001
+
+
+ 0.15210000000000001
@@ -205,16 +162,16 @@
-
+
-
+
- [人口数据表.xlsx]毛入学率!$C$1
+ Sheet1!$C$1
@@ -226,7 +183,7 @@
-
+
@@ -237,141 +194,108 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [人口数据表.xlsx]毛入学率!$A$2:$A$10
+ Sheet1!$A$3:$A$15
General
-
+
- 2015
+ 2023
- 2016
+ 2024
- 2017
+ 2025
- 2018
+ 2026
- 2019
+ 2027
- 2020
+ 2028
- 2021
+ 2029
- 2022
+ 2030
- 2023
+ 2031
+
+
+ 2032
+
+
+ 2033
+
+
+ 2034
+
+
+ 2035
- [人口数据表.xlsx]毛入学率!$C$2:$C$10
+ Sheet1!$C$3:$C$15
- General
-
+ 0.00_
+
- 99.25
+ 8.3099999999999993E-2
- 99.63
+ 8.2500000000000004E-2
- 99.7
+ 8.1500000000000003E-2
- 99.83
+ 8.0699999999999994E-2
- 99.98
+ 8.0199999999999994E-2
- 98.23
+ 8.0199999999999994E-2
- 99.87
+ 7.9799999999999996E-2
- 99.88
+ 7.9399999999999998E-2
- 99.88
+ 7.9000000000000001E-2
+
+
+ 7.8600000000000003E-2
+
+
+ 7.8100000000000003E-2
+
+
+ 7.7700000000000005E-2
+
+
+ 7.7299999999999994E-2
@@ -380,16 +304,16 @@
-
+
-
+
- [人口数据表.xlsx]毛入学率!$D$1
+ Sheet1!$D$1
@@ -401,7 +325,7 @@
-
+
@@ -412,141 +336,108 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [人口数据表.xlsx]毛入学率!$A$2:$A$10
+ Sheet1!$A$3:$A$15
General
-
+
- 2015
+ 2023
- 2016
+ 2024
- 2017
+ 2025
- 2018
+ 2026
- 2019
+ 2027
- 2020
+ 2028
- 2021
+ 2029
- 2022
+ 2030
- 2023
+ 2031
+
+
+ 2032
+
+
+ 2033
+
+
+ 2034
+
+
+ 2035
- [人口数据表.xlsx]毛入学率!$D$2:$D$10
+ Sheet1!$D$3:$D$15
- General
-
+ 0.00_
+
- 98.87
+ 4.7100000000000003E-2
- 99.09
+ 4.5199999999999997E-2
- 100.38
+ 4.3099999999999999E-2
- 101.07
+ 4.2900000000000001E-2
- 101.08
+ 4.2700000000000002E-2
- 102.08
+ 4.2500000000000003E-2
- 102.09
+ 4.2200000000000001E-2
- 102.1
+ 4.2000000000000003E-2
- 102.1
+ 4.1799999999999997E-2
+
+
+ 4.1599999999999998E-2
+
+
+ 4.1300000000000003E-2
+
+
+ 4.1099999999999998E-2
+
+
+ 4.0899999999999999E-2
@@ -555,16 +446,16 @@
-
+
-
+
- [人口数据表.xlsx]毛入学率!$E$1
+ Sheet1!$E$1
@@ -576,7 +467,7 @@
-
+
@@ -587,141 +478,108 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [人口数据表.xlsx]毛入学率!$A$2:$A$10
+ Sheet1!$A$3:$A$15
General
-
+
- 2015
+ 2023
- 2016
+ 2024
- 2017
+ 2025
- 2018
+ 2026
- 2019
+ 2027
- 2020
+ 2028
- 2021
+ 2029
- 2022
+ 2030
- 2023
+ 2031
+
+
+ 2032
+
+
+ 2033
+
+
+ 2034
+
+
+ 2035
- [人口数据表.xlsx]毛入学率!$E$2:$E$10
+ Sheet1!$E$3:$E$15
- General
-
+ 0.00_
+
- 52.23
+ 3.4599999999999999E-2
- 61.33
+ 3.5000000000000003E-2
- 75.400000000000006
+ 3.5400000000000001E-2
- 77.599999999999994
+ 3.5200000000000002E-2
- 83.26
+ 3.5099999999999999E-2
- 83.58
+ 3.49E-2
- 89.5
+ 3.4700000000000002E-2
- 90.84
+ 3.4500000000000003E-2
- 90.84
+ 3.4299999999999997E-2
+
+
+ 3.4099999999999998E-2
+
+
+ 3.4000000000000002E-2
+
+
+ 3.3799999999999997E-2
+
+
+ 3.3599999999999998E-2
@@ -730,13 +588,13 @@
-
+
-
+
@@ -744,11 +602,11 @@
-
-
+
+
-
+
@@ -780,6 +638,14 @@
+
+
+
+
+
+
+
+
@@ -846,7 +712,7 @@
-
+
@@ -854,19 +720,19 @@
-
+
-
-
-
+
-
+
+
+
@@ -894,15 +760,7 @@
- 毛入学率(
-
-
-
- %
-
-
-
- )
+ 人数(单位:万人)
@@ -936,7 +794,7 @@
-
+
@@ -967,12 +825,49 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -987,8 +882,8 @@
-
-
+
+
@@ -1021,7 +916,7 @@
-
+
diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestDanWei.java b/src/main/java/com/dsideal/base/Tools/Test/TestDanWei.java
new file mode 100644
index 00000000..4686ae9a
--- /dev/null
+++ b/src/main/java/com/dsideal/base/Tools/Test/TestDanWei.java
@@ -0,0 +1,24 @@
+package com.dsideal.base.Tools.Test;
+
+import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.File;
+import java.io.IOException;
+
+public class TestDanWei {
+ public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException {
+ String sourceDoc = "c:/双江县人口变化及其对教育的影响的研究报告.docx";
+ ExcelKit.UnCompress(sourceDoc);
+ String xmlPath = ExcelKit.DocxUnzipDirectory + "word\\charts\\chart" + 37 + ".xml";
+ int mul = ExcelKit.getMul(xmlPath);
+ System.out.println(mul);
+ }
+}
diff --git a/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java b/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java
index f80abb6e..119a4e26 100644
--- a/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java
+++ b/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java
@@ -12,10 +12,11 @@ import java.util.List;
public class TestOutSideExcel {
+ ///c:chartSpace/c:chart/c:plotArea/c:valAx/c:title/c:tx/c:rich/a:p/a:r/a:t/text()
public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException {
- String sourceDoc = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【12】新-教育资源配置发展预测\\(6.11鲁甸县)《县(区)人口变化及其对教育的影响》(4).docx";
+ String sourceDoc = "c:/双江县人口变化及其对教育的影响的研究报告.docx";
//需要第几个图表
- for (int chartNumber = 4; chartNumber <= 4; chartNumber++) {
+ for (int chartNumber = 36; chartNumber <= 36; chartNumber++) {
System.out.println("正在处理第" + chartNumber + "个图表的信息~");
//读取图表
List> list = ExcelKit.getChartData(sourceDoc, chartNumber,0);