java - Java+jopendocument:使用 getCellAt(0,0) 时出现 NullPointerException
问题描述
在 Libreoffice 电子表格的工作表中,我可以访问单元格,但不能访问其值。我没有发现我的错误,欢迎任何反馈。这是代码:
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);
}
}
}
这是控制台的输出:
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
解决方案
刚刚发现:“是的,LO 7 切换到 OpenDocument 1.3。我们正在努力支持它。同时,您可以将格式更改为“1.2 扩展”。转到选项,然后加载/保存,然后是常规,然后是 ODF 格式版本。”
它对我有用,但很高兴听到我的客户意见......
推荐阅读
- php - 如何从googleapis直接下载中获取文件名
- sublimetext3 - 如何使用转义字符创建插入 \{\} 的片段?
- windows - putty 通过脚本发送命令并捕获输出
- docker - Docker daemon windows 7:并发下载
- python - 使用 Jinja2 的 Python Mongodb 聚合
- visual-studio-2015 - TFS 2015 发布工件
- amazon - 如何通过解析器在 Appsync 上使用 batchWriteItem
- php - Laravel Blade:@stop VS @show VS @endsection VS @append
- excel - 根据条件更改单元格的颜色
- .net - 执行存储过程和读取返回值时出现“将数据类型 nvarchar 转换为 int 时出错”