jxls-reader:引用示例不起作用

时间:2011-02-25 09:13:14

标签: java xls xlsx

我需要从Java读取XLS文件。为此,我开始评估jXLS框架。不幸的是,我在尝试在XLS reader reference页面上运行示例时仍然遇到异常:

Exception in thread "main" net.sf.jxls.reader.XLSDataReadException: Can't read cell A4 on Sheet1 spreadsheet
    at net.sf.jxls.reader.SimpleBlockReaderImpl.read(SimpleBlockReaderImpl.java:61)
    at net.sf.jxls.reader.XLSSheetReaderImpl.read(XLSSheetReaderImpl.java:25)
    at net.sf.jxls.reader.XLSReaderImpl.readSheet(XLSReaderImpl.java:45)
    at net.sf.jxls.reader.XLSReaderImpl.read(XLSReaderImpl.java:31)
    at com.oracle.sk.jxls.App.go(App.java:46)
    at com.oracle.sk.jxls.App.main(App.java:19)

我对原作所做的更改是:

  • 将Department.java和Employee.java移动到主类所在的同一个包中(换句话说,在App.java旁边)
  • 将空的no-args构造函数添加到
  • 相应地更改departments.xml中varType(Employee和Department的完整类名)

departments.xml和departmentdata.xls都直接来自XLS reader reference pageDepartment.javaEmployee.java是从Simple beans页面下载的(在jXLS网站上也是如此)。如有必要,我可以提供完整的Maven项目。

拜托,有没有人有线索,为什么它不起作用?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

我知道它已经有一段时间了,但我做了一些调试搜索来回答这个问题,实际上我找到了一些东西。

departments.xml您看到A4单元格被映射到department.chief.name,但是当它初始化您的Department对象时,主要属性为null,所以在Department no-args构造函数中你应该这样做像chief = new Employee()

这样的东西

现在应该可以了。