Hi,

I am currently trying to convert a Excel xlsx file into xml.

I've gone though and done some custom mapping according to this example.  
http://openxmldeveloper.org/articles/2268.aspx 

Yet when I run it through my code I get  

Exception in thread "main" java.lang.NullPointerException
        at
org.apache.poi.xssf.extractor.XSSFExportToXml.indexOfElementInComplexType(XSSFExportToXml.java:431)
        at
org.apache.poi.xssf.extractor.XSSFExportToXml.compare(XSSFExportToXml.java:412)
        at
org.apache.poi.xssf.extractor.XSSFExportToXml.compare(XSSFExportToXml.java:78)
        at java.util.Arrays.mergeSort(Arrays.java:1284)
        at java.util.Arrays.sort(Arrays.java:1223)
        at java.util.Collections.sort(Collections.java:159)
        at
org.apache.poi.xssf.extractor.XSSFExportToXml.exportToXML(XSSFExportToXml.java:158)
        at
org.apache.poi.xssf.extractor.XSSFExportToXml.exportToXML(XSSFExportToXml.java:102)
        at com.poi.sample.XSFFExportSample.main(XSFFExportSample.java:30)


I was however able to run the CustomXMLMapping sample that I got off SVN.
I'm wondering if I'm not mapping things correctly in the Excel spreadsheet
but when I verify if the spreadsheet can be exported to XML it gives me no
problems. I'm also able to click Save As XML and have no issue.

I uploaded the project as a zip file in case anyone wants to look at it.

Here is the code I'm using

public static void main(String[] args) {
                try {
                        InputStream inp = new FileInputStream("Book1.xlsx");
                        XSSFWorkbook wb = new XSSFWorkbook(inp);
                        for(XSSFMap map : wb.getCustomXMLMappings())
                        {
                                XSSFExportToXml exporter = new 
XSSFExportToXml(map);
                                OutputStream writer = new 
FileOutputStream("outxml.xml"); 
                                exporter.exportToXML(writer, false);
                        }
                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (SAXException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (ParserConfigurationException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (TransformerException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

Here is the schema I'm using for testing

<complexType name="GolfClubType">
    <complexContent>

      <extension base="tns:GolfManufacturerType">
        <sequence>
          <element name="ClubKind" type="tns:ClubKindType"></element>
          <element name="Loft" type="string"></element>
          <element name="Shaft" type="tns:ShaftType"></element>
        </sequence>
      </extension>
    </complexContent>
  </complexType>

  <simpleType name="ClubKindType">
    <restriction base="string">
      <enumeration value="Driver"></enumeration>
      <enumeration value="Wood"></enumeration>
      <enumeration value="Iron"></enumeration>
      <enumeration value="Wedge"></enumeration>
      <enumeration value="Putter"></enumeration>
    </restriction>
  </simpleType>

  <simpleType name="ShaftType">
    <restriction base="string">
      <enumeration value="Regular"></enumeration>
      <enumeration value="Stiff"></enumeration>
    </restriction>
  </simpleType>

If anyone wants I can upload the spreadsheet as well.


Any ideas on how to better convert xlsx file to XML? 




-- 
View this message in context: 
http://old.nabble.com/XSSFExportToXML-help-trying-to-export-xlsx-to-xml-tp27278396p27278396.html
Sent from the POI - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to