不知道为什么,我在执行上面这条语句创建工作表格的时候会报数组越界  ArrayIndexOutOfBoundsException异常, 急需解决 多谢大哥帮帮忙

解决方案 »

  1.   

    LZ你确定是这一句吗?
    //获得excel文件
        Workbook bk=Workbook.getWorkbook(new File(path));
      

  2.   

    就这 不显示删除回复显示所有回复显示星级回复显示得分回复 jxl Workbook.getWorkbook(is)谁看得出来啊
      

  3.   

    Workbook bk=Workbook.getWorkbook(is);
    我是传的一个从页面获取的文件 用的是输入流
      

  4.   

    应该能不是Workbook.getWorkbook(is)的问题。is应该是流对象,
    InputStream is = new FileInputStream("XXXX");///xxx:path
    Workbook work= Workbook.getWorkbook(is);
    这两句不应该报数组越界吧
      

  5.   

    就是在这一句报的 Workbook work= Workbook.getWorkbook(is);
    所以才不知道怎么解决呀
      

  6.   

    设断点调试看看,Workbook work= Workbook.getWorkbook(is);
    这一句不会数组越界
      

  7.   

    byte[] fileByteArray= formfile.getFileData();
    InputStream is= new ByteArrayInputStream(fileByteArray);
    WorkbookSettings wbs = new WorkbookSettings();
    wbs.setEncoding("GB2312");
    wb = Workbook.getWorkbook(is, wbs);
    Sheet sheet = wb.getSheet(0);
    在执行 
    wb = Workbook.getWorkbook(is, wbs);这一句时 抛出异常的 数组越界
      

  8.   

    Sheet sheet = wb.getSheet(0);数据越界应该是这一句!
      

  9.   

    如果你传过来的流没有问题那应该就是Sheet sheet = wb.getSheet(0);这个报错
      

  10.   


    在jxl.biff下的formatting records.java这个类中出的问题,它定义了一个变量private static final int maxFormatRecordsIndex = 0x1b9;即最大纪录格式数目为441,因此每当拷贝的单元格超过这个变量值的时候就会报错,解决的方法就是把这个0x1b9换成一个大点的值,即可,我换成了7200基本满足了需要,没有再报这个错,而且以往复制单元格,单元格格式丢失的情况也没有再出现,问题完全解决!参考:http://blog.csdn.net/kunshan_shenbin/archive/2010/05/20/5611477.aspx
      

  11.   

    对的;就是这个问题
    在jxl.biff下的formatting records.java这个类中出的问题,它定义了一个变量private static final int maxFormatRecordsIndex = 0x1b9;即最大纪录格式数目为441,因此每当拷贝的单元格超过这个变量值的时候就会报错,解决的方法就是把这个0x1b9换成一个大点的值,即可,我换成了7200基本满足了需要,没有再报这个错,而且以往复制单元格,单元格格式丢失的情况也没有再出现,问题完全解决!参考:http://blog.csdn.net/kunshan_shenbin/archive/2010/05/20/5611477.aspx
      

  12.   

    呵呵,我遇到的问题和你一样,不过我已经解决了,下载了最新的jxl.jar 包http://www.andykhan.com/jexcelapi/download.html