jxl解析excel时一个诡异的错误

上周用jxl解析excel时,遇到了一个很诡异的问题。
抛出的异常代码如下:
引用

   java.lang.NullPointerException
at jxl.biff.formula.SharedFormulaCellReference.read(SharedFormulaCellReference.java:89)
at jxl.biff.formula.TokenFormulaParser.parseSubExpression(TokenFormulaParser.java:172)
at jxl.biff.formula.TokenFormulaParser.parse(TokenFormulaParser.java:111)
at jxl.biff.formula.FormulaParser.parse(FormulaParser.java:110)
at jxl.biff.DVParser.<init>(DVParser.java:408)
at jxl.biff.DataValiditySettingsRecord.initialize(DataValiditySettingsRecord.java:140)
at jxl.biff.DataValiditySettingsRecord.getFirstColumn(DataValiditySettingsRecord.java:235)
at jxl.read.biff.SheetReader.read(SheetReader.java:913)
at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:650)
at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:315)

java.lang.NullPointerException
jxl.biff.formula.SharedFormulaCellReference.read(SharedFormulaCellReference.java:89)
在这里有空指针异常了

    经过仔细查找后,发现了可能的问题所在。
    系统中有这样一个功能,用户申报项目时,我们提供一个excel模板,可以由用户把项目填在excel里,然后上传excel。有些字段的值只能由用户选择,比如项目类型。
   问题可能就出在这里。excel里有5个这样的字段,经多次测试表明,只要有一个这样的字读不选择,就会出现上述异常。
   后来没办法,只用try起来,有异常就提示用户有必填项未填。。。(强烈不推荐这样做)

   但是奇怪的是,这样的错误并不是可重复的,后来自己单独写小程序就一切正常,其它项目里有相似的excel也没有问题。

你可能感兴趣的:(java,Excel)