Java 如何使用ApachePOI检索power point幻灯片中的特定图表
我有一个power point幻灯片,它有多个图表(多个条形图和折线图) 我需要使用ApachePOI库更新它们。到目前为止,我习惯于每张幻灯片有一张图表,我习惯于使用下面的代码来识别和更新这些值Java 如何使用ApachePOI检索power point幻灯片中的特定图表,java,apache-poi,Java,Apache Poi,我有一个power point幻灯片,它有多个图表(多个条形图和折线图) 我需要使用ApachePOI库更新它们。到目前为止,我习惯于每张幻灯片有一张图表,我习惯于使用下面的代码来识别和更新这些值 XSLFChart chart = null; for(POIXMLDocumentPart part : mainSlide.getRelations()){ if(part instanceof XSLFChart){ chart = (XS
XSLFChart chart = null;
for(POIXMLDocumentPart part : mainSlide.getRelations()){
if(part instanceof XSLFChart){
chart = (XSLFChart) part;
break;
}
}
不知道如何识别特定的图表,看不到任何像我一样可以识别形状的方法
for(XSLFSlide slide:ppt.getSlides()){
for (XSLFShape shape : slide.getShapes()) {
if (shapeName.equals(shape.getShapeName()))
return slide;
}
}
我在powerpoint中为表格、文本框命名,并可以使用shapename在代码中检索,但在图表中看不到任何内容。有人能帮我吗?我在同事的帮助下想出了一个方法来识别它 首先在power point open layout>图表标题>上图中为图表指定标题,然后指定任何名称。要隐藏该标题,请保持字体大小较小,并使字体颜色为白色 在java中添加代码,如下所示
private XSLFChart getChartObject(XSLFSlide mainSlide,String chartName) throws IOException
{
XSLFChart chart = null;
for(POIXMLDocumentPart part : mainSlide.getRelations()){
if(part instanceof XSLFChart){
chart = (XSLFChart) part;
if(chart.getCTChart().getTitle()!=null && chart.getCTChart().getTitle().getTx()!=null){
if(chart.getCTChart().getTitle().getTx().getRich().getPList().get(0).getRList().get(0).getT().equals(chartName))
break;
}
}
}
return chart;
}
我在同事的帮助下想出了一个方法来识别它 首先在power point open layout>图表标题>上图中为图表指定标题,然后指定任何名称。要隐藏该标题,请保持字体大小较小,并使字体颜色为白色 在java中添加代码,如下所示
private XSLFChart getChartObject(XSLFSlide mainSlide,String chartName) throws IOException
{
XSLFChart chart = null;
for(POIXMLDocumentPart part : mainSlide.getRelations()){
if(part instanceof XSLFChart){
chart = (XSLFChart) part;
if(chart.getCTChart().getTitle()!=null && chart.getCTChart().getTitle().getTx()!=null){
if(chart.getCTChart().getTitle().getTx().getRich().getPList().get(0).getRList().get(0).getT().equals(chartName))
break;
}
}
}
return chart;
}