javanullpointerexceptionjopendocument

Java+jopendocument: NullPointerException when using getCellAt(0,0)


In a Libreoffice Spreadsheet's sheet, I can get access to a Cell, but not to its value. I don't find my error, any feedback is welcome. Here is the code:

import java.io.File;
import java.io.IOException;
import org.jopendocument.dom.spreadsheet.MutableCell;
import org.jopendocument.dom.spreadsheet.Sheet;
import org.jopendocument.dom.spreadsheet.SpreadSheet;

public class MyClass {
    protected Sheet dataSheet;
    protected File dataCalcFile;
    
    public static void main(String[] args) {
        MyClass myClassInstance = new MyClass(); 
        myClassInstance.loadData();
    }

    public void loadData() {
        int numRows=0, numColumnas=0;
        MutableCell cell=null;
        
        try {
            dataCalcFile = new File(""C:\\temp\\Data.ods"");
            dataSheet = SpreadSheet.createFromFile(dataCalcFile).getSheet(0);
            numRows = dataSheet.getRowCount();            
            System.out.println("Number of rows: " + numRows);
            System.out.println("Cell at 0,0: " + dataSheet.getCellAt(0, 0));
            System.out.println("Nullpointer Exception when getting cell value at 0,0: " + dataSheet.getValueAt(0, 0));  // *** THE INFAMOUS ONE ***     
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

And here is the output at console:

Number of rows: 107
Cell at 0,0: <table:table-cell xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" table:style-name="ce1" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" office:value-type="string" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" calcext:value-type="string"><text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">Carpeta</text:p></table:table-cell>
java.lang.NullPointerException

Solution

  • Just found that: "Yes, LO 7 switched to OpenDocument 1.3. We're working on supporting it. In the mean time, you can change the format to "1.2 extended". Go to Options, then Load/Save, then General, then ODF format version."

    It works for me, but am excited to hear my customers opinion...