|
|
|
@ -576,6 +576,8 @@ public class ExcelKit {
|
|
|
|
|
List<List<String>> transposed = new ArrayList<>();
|
|
|
|
|
List<Element> xList = new ArrayList<>();
|
|
|
|
|
List<Element> children = root.element("chart").element("plotArea").elements();
|
|
|
|
|
|
|
|
|
|
List<Object> listObject = new ArrayList<>();
|
|
|
|
|
for (Element child : children) {
|
|
|
|
|
//将CHART_TYPES数组转换为List
|
|
|
|
|
List<String> CHART_TYPES_LIST = Arrays.asList(CHART_TYPES);
|
|
|
|
@ -587,29 +589,34 @@ public class ExcelKit {
|
|
|
|
|
Element q = root.element("chart");
|
|
|
|
|
q = q.element("plotArea");
|
|
|
|
|
q = q.element(type);
|
|
|
|
|
q = q.element("ser");
|
|
|
|
|
q = q.element("cat");
|
|
|
|
|
if (q == null) return null;
|
|
|
|
|
q = q.element("numRef");
|
|
|
|
|
q = q.element("numCache");
|
|
|
|
|
xList = q.elements("pt");
|
|
|
|
|
|
|
|
|
|
List<Object> listObject = new ArrayList<>();
|
|
|
|
|
///c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser/c:val/c:numRef/c:numCache
|
|
|
|
|
for (Element ser : root.element("chart").element("plotArea").element(type).elements("ser")) {
|
|
|
|
|
List<Element> yList = ser.element("val").element("numRef").element("numCache").elements("pt");
|
|
|
|
|
|
|
|
|
|
//记录都有哪些有效数值和索引号
|
|
|
|
|
Map<Integer, Element> map = new HashMap<>();
|
|
|
|
|
for (Element e : yList) {
|
|
|
|
|
map.put(Integer.parseInt(e.attribute("idx").getValue()), e);
|
|
|
|
|
}
|
|
|
|
|
List<Object> list = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < xList.size(); i++) {
|
|
|
|
|
list.add(map.getOrDefault(i, null));
|
|
|
|
|
for (Element w : q.elements("ser")) {
|
|
|
|
|
q = w.element("cat");
|
|
|
|
|
q = q.element("numRef");
|
|
|
|
|
Element p = q.element("f");
|
|
|
|
|
System.out.println(p.getText());
|
|
|
|
|
|
|
|
|
|
q = q.element("numCache");
|
|
|
|
|
xList = q.elements("pt");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser/c:val/c:numRef/c:numCache
|
|
|
|
|
for (Element ser : root.element("chart").element("plotArea").element(type).elements("ser")) {
|
|
|
|
|
List<Element> yList = ser.element("val").element("numRef").element("numCache").elements("pt");
|
|
|
|
|
|
|
|
|
|
//记录都有哪些有效数值和索引号
|
|
|
|
|
Map<Integer, Element> map = new HashMap<>();
|
|
|
|
|
for (Element e : yList) {
|
|
|
|
|
map.put(Integer.parseInt(e.attribute("idx").getValue()), e);
|
|
|
|
|
}
|
|
|
|
|
List<Object> list = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < xList.size(); i++) {
|
|
|
|
|
list.add(map.getOrDefault(i, null));
|
|
|
|
|
}
|
|
|
|
|
listObject.add(list);
|
|
|
|
|
}
|
|
|
|
|
listObject.add(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//数据是按行读取的
|
|
|
|
|
for (int i = 0; i < listObject.size(); i++) {
|
|
|
|
|
List<String> row = new ArrayList<>();
|
|
|
|
|