修改
          System.out.println(e);

        e.printStackTrace();
看看错误信息是从哪里出的.

解决方案 »

  1.   

    workbook1= Workbook.createWorkbook(fileOut1);我知道在这出错,可我觉得不该出错,很郁闷
      

  2.   

    仅仅是用两个流创建了两个workbook实例而已,为什么就出错呢
      

  3.   

        WritableWorkbook workbook = null;
        WritableWorkbook workbook1 = null;哦。这两个变量,均没有创建实例。 
      

  4.   

    可我接着都实例化了:workbook = Workbook.createWorkbook(fileOut);
                        workbook1= Workbook.createWorkbook(fileOut1);
    它们互不相干阿,为什么第二个实例化会出错呢
      

  5.   

    修改
              System.out.println(e);

            e.printStackTrace();
    看看错误信息是从哪里出的.
    可以看到详细的错误轨迹.
    把这个的结构贴上来.
      

  6.   

    ---------- 运行 ----------
    test
    java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
    at java.util.ArrayList.RangeCheck(ArrayList.java:507)
    at java.util.ArrayList.get(ArrayList.java:324)
    at jxl.biff.Fonts.getFont(Fonts.java:87)
    at jxl.write.biff.WritableFormattingRecords.<init>(WritableFormattingRecords.java:87)
    at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:72)
    at jxl.Workbook.createWorkbook(Workbook.java:255)
    at JxlTest.main(JxlTest.java:23)Output completed (1 sec consumed) - Normal Termination
      

  7.   

    看看jxl.biff.Fonts.getFont(Fonts.java:87)
    87行应该有问题.
    剩下的问题你可以自己慢慢找了.