Page 1 of 1

Error adding excel as table object in PPTX

PostPosted: Sat Feb 11, 2012 10:10 am
by ikola
Hi Jason,

When I add an excel in PPTX as table , it throws null pointer java.lang.IllegalArgumentException: Unexpected node type: null.

Can you please advise if this is possible?

I need to color code PPTX based on the values.

I thought I can add excel and add formula to the cell to make it work .. but when I add excel (with or with out formatting cell ) the parsing fails.

It works great with the charts ..

Here is full stack trace.. appreciate your help. I am in the final stages of release.. please help.

Thanks,
IK

14878 [main] INFO org.docx4j.openpackaging.parts.Part - /ppt/drawings/vmlDrawing1.vml
java.lang.IllegalArgumentException: Unexpected node type: null
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:309)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:286)
at org.docx4j.openpackaging.parts.JaxbXmlPart.unmarshal(JaxbXmlPart.java:285)
at org.docx4j.convert.in.FlatOpcXmlImporter.getRawPart(FlatOpcXmlImporter.java:466)
at org.docx4j.convert.in.FlatOpcXmlImporter.getRawPart(FlatOpcXmlImporter.java:387)
at org.docx4j.convert.in.FlatOpcXmlImporter.getPart(FlatOpcXmlImporter.java:326)
at org.docx4j.convert.in.FlatOpcXmlImporter.addPartsFromRelationships(FlatOpcXmlImporter.java:256)
at org.docx4j.convert.in.FlatOpcXmlImporter.getPart(FlatOpcXmlImporter.java:343)
at org.docx4j.convert.in.FlatOpcXmlImporter.addPartsFromRelationships(FlatOpcXmlImporter.java:256)
at org.docx4j.convert.in.FlatOpcXmlImporter.getPart(FlatOpcXmlImporter.java:343)
at org.docx4j.convert.in.FlatOpcXmlImporter.addPartsFromRelationships(FlatOpcXmlImporter.java:256)
at org.docx4j.convert.in.FlatOpcXmlImporter.get(FlatOpcXmlImporter.java:183)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:240)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:210)
at com.cisco.cstg.cds.comp.orf.ooxml.pptx.PptxHandlerImpl.parse(PptxHandlerImpl.java:73)
at com.cisco.cstg.cds.comp.orf.delegate.process.PptxMetadataGenerator.execute(PptxMetadataGenerator.java:43)
at com.cisco.cstg.cds.comp.orf.wkf.EngineWorkflowImpl.execute(EngineWorkflowImpl.java:44)
at com.cisco.cstg.cds.comp.orf.ReportEngineServcieImpl.run(ReportEngineServcieImpl.java:100)
at com.cisco.cstg.cds.comp.orf.ReportEngineDriver.fireEngineRequest(ReportEngineDriver.java:95)
at com.cisco.cstg.cds.comp.orf.ReportEngineDriver.exec(ReportEngineDriver.java:48)
at com.cisco.cstg.cds.comp.orf.ReportEngineDriver.main(ReportEngineDriver.java:28)
Reason:com.cisco.cstg.cds.comp.orf.wkf.WorkflowException: Error while parse in running metadata generationFailed to add parts from relationships
at com.cisco.cstg.cds.comp.orf.delegate.process.PptxMetadataGenerator.execute(PptxMetadataGenerator.java:51)
at com.cisco.cstg.cds.comp.orf.wkf.EngineWorkflowImpl.execute(EngineWorkflowImpl.java:44)

Re: Error adding excel as table object in PPTX

PostPosted: Sun Feb 12, 2012 12:11 am
by jason
Hello, I was able to reproduce the issue and fix it with http://www.docx4java.org/trac/docx4j/changeset/1756
Are you building docx4j from source? If not, let me know and I will publish a "nightly" build.
cheers .. Jason

Re: Error adding excel as table object in PPTX

PostPosted: Sun Feb 12, 2012 10:03 am
by ikola
cool .. Thank you for the quick fix . Can you publish a nightly build? I am using 2.7.1 .

One clarification.. When manipulating an embedded excel with a formula, will the slide get updated automatically ?

Its not happening in case of charts .. I assume there will not be any wrapper object for plain excel.

Cheers,
IK

Re: Error adding excel as table object in PPTX

PostPosted: Mon Feb 13, 2012 4:22 am
by jason
Please try http://www.docx4java.org/docx4j/docx4j- ... 120212.jar

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
              <a:graphic>
                <a:graphicData uri="http://schemas.openxmlformats.org/presentationml/2006/ole">
                  <mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
                    <mc:Choice Requires="v" xmlns:v="urn:schemas-microsoft-com:vml">
                      <p:oleObj spid="_x0000_s1026" name="Worksheet" r:id="rId3" imgW="1476277" imgH="581040" progId="Excel.Sheet.12">
                        <p:embed/>
                      </p:oleObj>
                    </mc:Choice>
                    <mc:Fallback>
                      <p:oleObj name="Worksheet" r:id="rId3" imgW="1476277" imgH="581040" progId="Excel.Sheet.12">
                        <p:embed/>
                        <p:pic>
                          <p:nvPicPr>
                            <p:cNvPr id="0" name=""/>
                            <p:cNvPicPr/>
                            <p:nvPr/>
                          </p:nvPicPr>
                          <p:blipFill>
                            <a:blip r:embed="rId4"/>
                            <a:stretch>
                              <a:fillRect/>
                            </a:stretch>
                          </p:blipFill>
                          <p:spPr>
                            <a:xfrm>
                              <a:off x="3833813" y="3138488"/>
                              <a:ext cx="1476375" cy="581025"/>
                            </a:xfrm>
                            <a:prstGeom prst="rect">
                              <a:avLst/>
                            </a:prstGeom>
                          </p:spPr>
                        </p:pic>
                      </p:oleObj>
                    </mc:Fallback>
                  </mc:AlternateContent>
                </a:graphicData>
              </a:graphic>
 
Parsed in 0.003 seconds, using GeSHi 1.0.8.4


with the following rels:

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
        <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing" Target="../drawings/vmlDrawing1.vml"/>
        <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Microsoft_Excel_Worksheet1.xlsx"/>
        <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.emf"/>
 
Parsed in 0.001 seconds, using GeSHi 1.0.8.4


There is no obvious use of rId1 (vmlDrawing1.vml), so without further investigation I'm not sure how this is used.

It appears that Powerpoint 2010 might just use the embedded xlsx (rId3), whereas Powerpoint 2007 also uses the EMF. You'll have to experiment with updating the XLSX to see whether Powerpoint automatically uses that (rather than displaying the stale EMF).

Re: Error adding excel as table object in PPTX

PostPosted: Wed Feb 15, 2012 1:35 pm
by ikola
now the parsing issue is resolved . But the PPTX will not get updated automatically. I have to use some other approach for this.

Thank you for the support.

IK