Проблема создания диаграммы с нуля с Apache Poi - PullRequest
0 голосов
/ 23 октября 2019

Когда я создаю диаграмму с нуля и добавляю ее в слайд в PowerPoint с помощью Apache Poi, соответствующая форма XSLFGraphicFrame создается и добавляется в XML, но не добавляется в список getShapes() в пределахСлайд, что происходит правильно для других типов фигур, есть ли способ подняться на дерево зависимостей до GraphicalFrame, получить соответствующий объект XSLFShape и добавить его вручную?

Пример: Предположим, у меня есть объект XMLSlideShow, который мы вызываем ppt, ppt имеет объект XSLFSLide, представляющий его слайд в первой позиции. Так что теперь этот слайд имеет несколько форм. скажем, это 2 XSLFTextBox, которые мы можем перебрать, используя метод getShapes().

Так что, если мы создаем диаграмму с нуля:

//ppt.getSlides().get(0).getShapes().foreach .... sysout of each shapes produce something like shape1, shape2 we assumed before
XSLFChart chart = ppt.createChart(ppt.getSlides().get(0); //so adding the relation part to the first slide of our ppt
ppt.getSlides().get(0).addChart(chart, anchor); // we add the chart to the slide at some anchor we r interesting at
//now here do all things u need to populate your chart with data
//now ppt.getSlides().get(0).getShapes(). foreach .... sysout of this still produce shape1, shape2 and exclude shape3 (the actual just created chart)

Но если мы зациклим объекты XML, beanна самом деле мы можем найти объект графического фрейма, который, кажется, не добавлен в список getShapes.

Как я могу сделать это вручную, сначала получив соответствующую форму?

...