main
黄海 8 months ago
parent 647d270293
commit cbdf1d5446

@ -0,0 +1,569 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<c:date1904 val="false"/>
<c:lang val="zh-CN"/>
<c:roundedCorners val="false"/>
<mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
<mc:Choice Requires="c14" xmlns:c14="http://schemas.microsoft.com/office/drawing/2007/8/2/chart">
<c14:style val="102"/>
</mc:Choice>
<mc:Fallback>
<c:style val="2"/>
</mc:Fallback>
</mc:AlternateContent>
<c:chart>
<c:autoTitleDeleted val="true"/>
<c:plotArea>
<c:layout/>
<c:lineChart>
<c:grouping val="standard"/>
<c:varyColors val="false"/>
<c:ser>
<c:idx val="0"/>
<c:order val="0"/>
<c:spPr>
<a:ln w="28575" cap="rnd">
<a:solidFill>
<a:schemeClr val="accent1"/>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
<c:marker>
<c:symbol val="circle"/>
<c:size val="5"/>
<c:spPr>
<a:solidFill>
<a:schemeClr val="accent1"/>
</a:solidFill>
<a:ln w="9525">
<a:solidFill>
<a:schemeClr val="accent1"/>
</a:solidFill>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:marker>
<c:dLbls>
<c:dLbl>
<c:idx val="1"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="3"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="5"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="7"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="9"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="11"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="13"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="15"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="17"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="19"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="21"/>
<c:delete val="true"/>
</c:dLbl>
<c:dLbl>
<c:idx val="23"/>
<c:delete val="true"/>
</c:dLbl>
<c:spPr>
<a:noFill/>
<a:ln>
<a:noFill/>
</a:ln>
<a:effectLst/>
</c:spPr>
<c:txPr>
<a:bodyPr rot="0" spcFirstLastPara="0" vertOverflow="ellipsis" vert="horz" wrap="square"
lIns="38100" tIns="19050" rIns="38100" bIns="19050" anchor="ctr"
anchorCtr="true"/>
<a:lstStyle/>
<a:p>
<a:pPr>
<a:defRPr lang="zh-CN" sz="1000" b="0" i="0" u="none" strike="noStrike" kern="1200"
baseline="0">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="75000"/>
<a:lumOff val="25000"/>
</a:schemeClr>
</a:solidFill>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
</a:defRPr>
</a:pPr>
</a:p>
</c:txPr>
<c:dLblPos val="t"/>
<c:showLegendKey val="false"/>
<c:showVal val="true"/>
<c:showCatName val="false"/>
<c:showSerName val="false"/>
<c:showPercent val="false"/>
<c:showBubbleSize val="false"/>
<c:showLeaderLines val="false"/>
<c:extLst>
<c:ext uri="{CE6537A1-D6FC-4f65-9D91-7224C49458BB}"
xmlns:c15="http://schemas.microsoft.com/office/drawing/2012/chart">
<c15:layout/>
<c15:showLeaderLines val="true"/>
<c15:leaderLines>
<c:spPr>
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="35000"/>
<a:lumOff val="65000"/>
</a:schemeClr>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c15:leaderLines>
</c:ext>
</c:extLst>
</c:dLbls>
<c:cat>
<c:numRef>
<c:f>'[2012—2022西双版纳州人口数据采集.xlsx]Sheet1 (2)'!$A$3:$A$26</c:f>
<c:numCache>
<c:formatCode>General</c:formatCode>
<c:ptCount val="24"/>
<c:pt idx="0">
<c:v>2012</c:v>
</c:pt>
<c:pt idx="1">
<c:v>2013</c:v>
</c:pt>
<c:pt idx="2">
<c:v>2014</c:v>
</c:pt>
<c:pt idx="3">
<c:v>2015</c:v>
</c:pt>
<c:pt idx="4">
<c:v>2016</c:v>
</c:pt>
<c:pt idx="5">
<c:v>2017</c:v>
</c:pt>
<c:pt idx="6">
<c:v>2018</c:v>
</c:pt>
<c:pt idx="7">
<c:v>2019</c:v>
</c:pt>
<c:pt idx="8">
<c:v>2020</c:v>
</c:pt>
<c:pt idx="9">
<c:v>2021</c:v>
</c:pt>
<c:pt idx="10">
<c:v>2022</c:v>
</c:pt>
<c:pt idx="11">
<c:v>2023</c:v>
</c:pt>
<c:pt idx="12">
<c:v>2024</c:v>
</c:pt>
<c:pt idx="13">
<c:v>2025</c:v>
</c:pt>
<c:pt idx="14">
<c:v>2026</c:v>
</c:pt>
<c:pt idx="15">
<c:v>2027</c:v>
</c:pt>
<c:pt idx="16">
<c:v>2028</c:v>
</c:pt>
<c:pt idx="17">
<c:v>2029</c:v>
</c:pt>
<c:pt idx="18">
<c:v>2030</c:v>
</c:pt>
<c:pt idx="19">
<c:v>2031</c:v>
</c:pt>
<c:pt idx="20">
<c:v>2032</c:v>
</c:pt>
<c:pt idx="21">
<c:v>2033</c:v>
</c:pt>
<c:pt idx="22">
<c:v>2034</c:v>
</c:pt>
<c:pt idx="23">
<c:v>2035</c:v>
</c:pt>
</c:numCache>
</c:numRef>
</c:cat>
<c:val>
<c:numRef>
<c:f>'[2012—2022西双版纳州人口数据采集.xlsx]Sheet1 (2)'!$C$3:$C$26</c:f>
<c:numCache>
<c:formatCode>0.0;[Red]0.0</c:formatCode>
<c:ptCount val="24"/>
<c:pt idx="0">
<c:v>114.9</c:v>
</c:pt>
<c:pt idx="1">
<c:v>115.2</c:v>
</c:pt>
<c:pt idx="2">
<c:v>115.7</c:v>
</c:pt>
<c:pt idx="3">
<c:v>116.4</c:v>
</c:pt>
<c:pt idx="4">
<c:v>117.2</c:v>
</c:pt>
<c:pt idx="5">
<c:v>118</c:v>
</c:pt>
<c:pt idx="6">
<c:v>118.8</c:v>
</c:pt>
<c:pt idx="7">
<c:v>119.6</c:v>
</c:pt>
<c:pt idx="8">
<c:v>130.4</c:v>
</c:pt>
<c:pt idx="9" c:formatCode="General">
<c:v>130.6</c:v>
</c:pt>
<c:pt idx="10" c:formatCode="0.0_);[Red]\(0.0\)">
<c:v>130.8</c:v>
</c:pt>
<c:pt idx="11" c:formatCode="General">
<c:v>131.8</c:v>
</c:pt>
<c:pt idx="12" c:formatCode="General">
<c:v>131.8</c:v>
</c:pt>
<c:pt idx="13" c:formatCode="General">
<c:v>131.8</c:v>
</c:pt>
<c:pt idx="14" c:formatCode="General">
<c:v>131.8</c:v>
</c:pt>
<c:pt idx="15" c:formatCode="General">
<c:v>131.7</c:v>
</c:pt>
<c:pt idx="16" c:formatCode="General">
<c:v>131.5</c:v>
</c:pt>
<c:pt idx="17" c:formatCode="General">
<c:v>131.3</c:v>
</c:pt>
<c:pt idx="18" c:formatCode="0.0_ ">
<c:v>131</c:v>
</c:pt>
<c:pt idx="19" c:formatCode="General">
<c:v>130.7</c:v>
</c:pt>
<c:pt idx="20" c:formatCode="General">
<c:v>130.4</c:v>
</c:pt>
<c:pt idx="21" c:formatCode="General">
<c:v>129.9</c:v>
</c:pt>
<c:pt idx="22" c:formatCode="General">
<c:v>129.5</c:v>
</c:pt>
<c:pt idx="23" c:formatCode="General">
<c:v>128.9</c:v>
</c:pt>
</c:numCache>
</c:numRef>
</c:val>
<c:smooth val="false"/>
</c:ser>
<c:dLbls>
<c:showLegendKey val="false"/>
<c:showVal val="true"/>
<c:showCatName val="false"/>
<c:showSerName val="false"/>
<c:showPercent val="false"/>
<c:showBubbleSize val="false"/>
</c:dLbls>
<c:hiLowLines>
<c:spPr>
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="75000"/>
<a:lumOff val="25000"/>
</a:schemeClr>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:hiLowLines>
<c:marker val="true"/>
<c:smooth val="false"/>
<c:axId val="537217401"/>
<c:axId val="579916675"/>
</c:lineChart>
<c:catAx>
<c:axId val="537217401"/>
<c:scaling>
<c:orientation val="minMax"/>
</c:scaling>
<c:delete val="false"/>
<c:axPos val="b"/>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr rot="0" spcFirstLastPara="0" vertOverflow="ellipsis" vert="horz" wrap="square"
anchor="ctr" anchorCtr="true"/>
<a:lstStyle/>
<a:p>
<a:pPr defTabSz="914400">
<a:defRPr lang="zh-CN" sz="1000" b="0" i="0" u="none" strike="noStrike" kern="1200"
baseline="0">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="65000"/>
<a:lumOff val="35000"/>
</a:schemeClr>
</a:solidFill>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
</a:defRPr>
</a:pPr>
<a:r>
<a:t>年份</a:t>
</a:r>
</a:p>
</c:rich>
</c:tx>
<c:layout/>
<c:overlay val="false"/>
<c:spPr>
<a:noFill/>
<a:ln>
<a:noFill/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:title>
<c:majorTickMark val="none"/>
<c:minorTickMark val="none"/>
<c:tickLblPos val="nextTo"/>
<c:spPr>
<a:noFill/>
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="15000"/>
<a:lumOff val="85000"/>
</a:schemeClr>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
<c:txPr>
<a:bodyPr rot="-60000000" spcFirstLastPara="0" vertOverflow="ellipsis" vert="horz" wrap="square"
anchor="ctr" anchorCtr="true"/>
<a:lstStyle/>
<a:p>
<a:pPr>
<a:defRPr lang="zh-CN" sz="900" b="0" i="0" u="none" strike="noStrike" kern="1200"
baseline="0">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="65000"/>
<a:lumOff val="35000"/>
</a:schemeClr>
</a:solidFill>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
</a:defRPr>
</a:pPr>
</a:p>
</c:txPr>
<c:crossAx val="579916675"/>
<c:crosses val="autoZero"/>
<c:auto val="true"/>
<c:lblAlgn val="ctr"/>
<c:lblOffset val="100"/>
<c:noMultiLvlLbl val="false"/>
</c:catAx>
<c:valAx>
<c:axId val="579916675"/>
<c:scaling>
<c:orientation val="minMax"/>
</c:scaling>
<c:delete val="false"/>
<c:axPos val="l"/>
<c:majorGridlines>
<c:spPr>
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="lt1">
<a:lumMod val="90200"/>
</a:schemeClr>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:majorGridlines>
<c:title>
<c:tx>
<c:rich>
<a:bodyPr rot="0" spcFirstLastPara="0" vertOverflow="ellipsis" vert="mongolianVert"
wrap="square" anchor="ctr" anchorCtr="true"/>
<a:lstStyle/>
<a:p>
<a:pPr defTabSz="914400">
<a:defRPr lang="zh-CN" sz="1000" b="0" i="0" u="none" strike="noStrike" kern="1200"
baseline="0">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="65000"/>
<a:lumOff val="35000"/>
</a:schemeClr>
</a:solidFill>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
</a:defRPr>
</a:pPr>
<a:r>
<a:t>人口数(万人)</a:t>
</a:r>
</a:p>
</c:rich>
</c:tx>
<c:layout/>
<c:overlay val="false"/>
<c:spPr>
<a:noFill/>
<a:ln>
<a:noFill/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:title>
<c:numFmt formatCode="0.0;[Red]0.0" sourceLinked="true"/>
<c:majorTickMark val="none"/>
<c:minorTickMark val="none"/>
<c:tickLblPos val="nextTo"/>
<c:spPr>
<a:noFill/>
<a:ln>
<a:noFill/>
</a:ln>
<a:effectLst/>
</c:spPr>
<c:txPr>
<a:bodyPr rot="-60000000" spcFirstLastPara="0" vertOverflow="ellipsis" vert="horz" wrap="square"
anchor="ctr" anchorCtr="true"/>
<a:lstStyle/>
<a:p>
<a:pPr>
<a:defRPr lang="zh-CN" sz="900" b="0" i="0" u="none" strike="noStrike" kern="1200"
baseline="0">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="65000"/>
<a:lumOff val="35000"/>
</a:schemeClr>
</a:solidFill>
<a:latin typeface="+mn-lt"/>
<a:ea typeface="+mn-ea"/>
<a:cs typeface="+mn-cs"/>
</a:defRPr>
</a:pPr>
</a:p>
</c:txPr>
<c:crossAx val="537217401"/>
<c:crosses val="autoZero"/>
<c:crossBetween val="between"/>
</c:valAx>
<c:spPr>
<a:noFill/>
<a:ln>
<a:noFill/>
</a:ln>
<a:effectLst/>
</c:spPr>
</c:plotArea>
<c:plotVisOnly val="true"/>
<c:dispBlanksAs val="gap"/>
<c:showDLblsOverMax val="false"/>
</c:chart>
<c:spPr>
<a:solidFill>
<a:schemeClr val="bg1"/>
</a:solidFill>
<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
<a:solidFill>
<a:schemeClr val="tx1">
<a:lumMod val="15000"/>
<a:lumOff val="85000"/>
</a:schemeClr>
</a:solidFill>
<a:round/>
</a:ln>
<a:effectLst/>
</c:spPr>
<c:txPr>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr>
<a:defRPr lang="zh-CN"/>
</a:pPr>
</a:p>
</c:txPr>
<c:externalData r:id="rId1">
<c:autoUpdate val="false"/>
</c:externalData>
</c:chartSpace>

@ -0,0 +1,93 @@
package com.dsideal.base.Tools.Test;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
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.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class TestOutSideExcel {
/**
*
*
* @throws IOException
*/
public static void compressAndUn(String sourceWordAddress) throws IOException {
File file = new File(sourceWordAddress);//取得word文件
String dir = "c:\\zipFile\\"; //取得要解压缩文件到的目录
FileInputStream inputStream = new FileInputStream(file);
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
ZipEntry entry;
byte ch[] = new byte[256];
while ((entry = zipInputStream.getNextEntry()) != null) {
File zFile = new File(dir + entry.getName());
if (entry.isDirectory()) {
if (!zFile.exists()) {
zFile.mkdirs();
}
zipInputStream.closeEntry();
} else {
File fpath = new File(zFile.getParent());
if (!fpath.exists()) {
fpath.mkdirs();
}
FileOutputStream outputStream = new FileOutputStream(zFile);
int i;
while ((i = zipInputStream.read(ch)) != -1) {
outputStream.write(ch, 0, i);
}
zipInputStream.closeEntry();
outputStream.close();
}
}
inputStream.close();
}
public static void main(String[] args) throws IOException, InvalidFormatException, InterruptedException, ParserConfigurationException, SAXException, XPathExpressionException, DocumentException {
String sourceDoc = "c:/西双版纳州人口变化及其对教育的影响20240420.docx";
int chartNumber = 1;
//List<List<String>> source = ExcelKit.getChartData(sourceDoc, chartNumber - 1, 0);
compressAndUn(sourceDoc);
//遍历目录 C:\zipFile\word\charts 下面有多少个chart?.xml的文件.下面我们来读取chart1.xml
String xml="C:\\zipFile\\word\\charts\\chart1.xml";
// 创建 SAXReader 对象,读取 XML 文件
SAXReader reader = new SAXReader();
Document document = reader.read(new File(xml));
// 获取根元素
Element root = document.getRootElement();
System.out.println("根元素: " + root.getName());
///c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser/c:val/c:numRef/c:numCache
List<Element> valueList=root.element("chart").element("plotArea")
.element("lineChart").element("ser").element("val")
.element("numRef").element("numCache").elements("pt");
for (Element e : valueList) {
System.out.println(e.element("v").getText());
}
List<Element> yearList=root.element("chart").element("plotArea")
.element("lineChart").element("ser").element("cat")
.element("numRef").element("numCache").elements("pt");
for (Element e : yearList) {
System.out.println(e.element("v").getText());
}
///c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser/c:cat/c:numRef/c:numCache/c:pt/c:v
}
}
Loading…
Cancel
Save