在java中用jxl操作EXCEL 
Workbook book = Workbook.getWorkbook(new File("D:\\project.xls")); 
Sheet sheet = book.getSheet(0); 
Cell cell=sheet.getCell(0,4); 
String result=cell.getContents(); 
System.out.println("########################### " +result); 
为什么在程序执行到Sheet sheet = book.getSheet(0);时,会抛NullPointerException呢?读取其他excel都没有
问题,下面是出错的详细信息:
java.lang.NullPointerException
at jxl.biff.drawing.Drawing.initialize(Drawing.java:249)
at jxl.biff.drawing.Drawing.<init>(Drawing.java:157)
at jxl.read.biff.SheetReader.read(SheetReader.java:737)
at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:620)
at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:230)
at com.ERP5I5J.Action.Business.Section.Upload.ReadSectionExcel.main(ReadSectionExcel.java:464)
有谁碰到过这个问题啊!!!!

解决方案 »

  1.   

    的确是那,其它excel在我那也没问题,就一个excel有问题,但我找不到问题出在哪?
      

  2.   

    开始我怀疑是excel数据有问题 但我把数据清除后 还是报同样的错误 继续等待
      

  3.   

    没有取到应该报这个错 
    java.lang.IndexOutOfBoundsException: Index: 11, Size: 4
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:228)
    at com.ERP5I5J.Action.Business.Section.Upload.ReadSectionExcel.main(ReadSectionExcel.java:464)所以这个sheet还是存在的
      

  4.   

    Workbook book = Workbook.getWorkbook(new File("D:\\project.xls")); 
    加入 if(book==null)System.out.println("book is null. xls not found");Sheet sheet = book.getSheet(0); 看看有没有打印信息。可能是这个文件d:\project.xls不存在。本地没问题的话,看看服务器上是不是有这个文件。
      

  5.   

    文件肯定是存在的 这里我写的是getSheet(0) 实际是getSheet(4)  前面几个sheet读取都没问题
      

  6.   

    我意思你SHEET是存在,但是没取到,你把SHEET0的删除看下
      

  7.   

    换个sheet没问题 但把内容复制过去还是报同样的错 受不了了
      

  8.   

    哎!最后解决了!!程序没问题!!!!是excel的内容格式不对(我仅复制内容就没问题),看来jxl对excel的操作还不是特别的好,还有些小bug,折腾了一个下午,散分 结贴!!!
      

  9.   

    几乎是同样问题,请问你那个excel内容格式是?