diff --git a/Doc/全省及州市县区人口与教育报告集20241023/133个县区报告2022/县区研究报告/有问题,但已处理/富宁县(空35).docx b/Doc/全省及州市县区人口与教育报告集20241023/133个县区报告2022/县区研究报告/有问题,但已处理/富宁县(空35).docx new file mode 100644 index 00000000..55c7232e Binary files /dev/null and b/Doc/全省及州市县区人口与教育报告集20241023/133个县区报告2022/县区研究报告/有问题,但已处理/富宁县(空35).docx differ diff --git a/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人).xlsx b/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人).xlsx index 13123f9b..1418ddd4 100644 Binary files a/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人).xlsx and b/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人).xlsx differ diff --git a/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人)【成果】.xlsx b/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人)【成果】.xlsx index 0344e6b0..7457ea18 100644 Binary files a/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人)【成果】.xlsx and b/Doc/待处理/区/【8】总人口变化及预测-双/总人口变化及预测-双-(万人)【成果】.xlsx differ diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx index 431a7181..b96cbf06 100644 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx and b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双.xlsx differ diff --git a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx b/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx deleted file mode 100644 index be97da43..00000000 Binary files a/Doc/待处理/区/【9】城镇&乡村人口变化及预测-双/城镇&乡村人口变化及预测-双【成果】.xlsx and /dev/null differ diff --git a/src/main/java/com/dsideal/base/Tools/FillData/DataEaseKit/DsKit.java b/src/main/java/com/dsideal/base/Tools/FillData/DataEaseKit/DsKit.java index c5ed1a57..48377790 100644 --- a/src/main/java/com/dsideal/base/Tools/FillData/DataEaseKit/DsKit.java +++ b/src/main/java/com/dsideal/base/Tools/FillData/DataEaseKit/DsKit.java @@ -10,7 +10,6 @@ import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFFont; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.apache.poi.xwpf.usermodel.XWPFChart; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -258,50 +257,6 @@ public class DsKit { applyStyle(outRow, 0, stringList.size() - 1, dataStyle); } - /** - * 对图表List重新排序 - * - * @param affCharts doc.getCharts() - * @return - */ - public static List getSortListForXWPFChart(List affCharts) { - List charts = new ArrayList<>(); - int itNumber = 0; //计数器 - int oldNumber = 0; //入参计数器 - while (itNumber < affCharts.size()) { - // 从oldCharts.get(0)开始检索,获取排序用图表名 - String name = affCharts.get(oldNumber).getPackagePart().getPartName().toString(); - // 获取此图表排序 - String chartsNum = "";// 图表序号 - boolean flag = false; // 上一个是否为数字 - for (int i = 0; i < name.length(); i++) { - if (chartsNum.equals("") && name.charAt(i) >= 48 && name.charAt(i) <= 57) { - chartsNum += name.charAt(i); - flag = true; - } else if (flag && name.charAt(i) >= 48 && name.charAt(i) <= 57) { - chartsNum += name.charAt(i); - flag = true; - } else { - flag = false; - } - } - //对比图表序号数字 - int thisChartNum = Integer.parseInt(chartsNum); - if (thisChartNum == itNumber + 1) { //如果相等则加入返回list,且itNumber++ - charts.add(affCharts.get(oldNumber)); - itNumber++; - } - - //入参计数器+1 如果达到最大值则重置为0 - if (oldNumber == affCharts.size() - 1) { - oldNumber = 0; - } else { - oldNumber++; - } - } - return charts; - } - /** * 保存 * @@ -483,7 +438,7 @@ public class DsKit { * * @throws IOException */ - public static void unCompress(String wordPath) throws IOException { + public static int unCompress(String wordPath) throws IOException { if (new File(DocxUnzipDirectory).exists()) { FileUtils.deleteDirectory(new File(DocxUnzipDirectory)); } @@ -514,6 +469,19 @@ public class DsKit { } } inputStream.close(); + + String workingPath = DocxUnzipDirectory + "word\\charts\\"; + //这个目录下的所有文件 + File[] files = new File(workingPath).listFiles(); + int cnt = 0; + if (files != null) { + for (File f : files) { + if (f.getName().startsWith("chart") && f.getName().endsWith(".xml")) { + cnt++; + } + } + } + return cnt; } @@ -592,7 +560,7 @@ public class DsKit { Element ser = ce.elements("ser").get(i); //cat 标签 Element cat = ser.element("cat"); - if(cat==null) return tList; + if (cat == null) return tList; Element numRef = cat.element("numRef"); if (numRef == null) numRef = cat.element("strRef");//这玩意有时是strRef,有时是numRef,Shit~ //数据 diff --git a/src/main/java/com/dsideal/base/Tools/Test/A9.java b/src/main/java/com/dsideal/base/Tools/Test/A9.java index fc2a97e3..0905948f 100644 --- a/src/main/java/com/dsideal/base/Tools/Test/A9.java +++ b/src/main/java/com/dsideal/base/Tools/Test/A9.java @@ -23,7 +23,7 @@ public class A9 { static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【9】城镇&乡村人口变化及预测-双\\城镇&乡村人口变化及预测-双.xlsx"; //源文件 - static String parentPath = "D:\\dsWork\\YunNanDsBase\\Doc\\有问题的县区"; + static String parentPath = "c:/新建文件夹"; //哪些是处理不了的,就不处理了~ static String[] excludeCityList = {"~$", "磨憨-磨丁", "经开区", "阳宗海"}; @@ -117,6 +117,7 @@ public class A9 { chartNumber = 3; List> source2 = DsKit.getChartData(file.getAbsolutePath(), chartNumber, 1); + DsKit.printTable(source2); if (source2 != null) { //本例中要乘以多少呢? String xmlPath = DsKit.DocxUnzipDirectory + "word\\charts\\chart" + chartNumber + ".xml"; 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 f3ba11c0..37983fc2 100644 --- a/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java +++ b/src/main/java/com/dsideal/base/Tools/Test/TestOutSideExcel.java @@ -13,10 +13,14 @@ import java.util.List; public class TestOutSideExcel { public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException { - String sourceDoc = "c:/《武定县人口变化及其对教育影响的报告》.docx"; + String sourceDoc = "C:/新建文件夹/富宁县(空35)(1).docx"; + + int chartCount = DsKit.unCompress(sourceDoc); + + System.out.println(chartCount); //需要第几个图表 - for (int chartNumber = 1; chartNumber <= 1; chartNumber++) { + for (int chartNumber = 1; chartNumber <= 37; chartNumber++) { System.out.println("正在处理第" + chartNumber + "个图表的信息~"); //读取图表 List> list = DsKit.getChartData(sourceDoc, chartNumber, 0);