求助啊,用jxl根据excel模板生成文件,close时报错    public void testexcel() throws Exception {
        File excelFile = new File("D:\\Tmp\\11.xls"); //创建文件
        Workbook rwb = null;
        WritableWorkbook workbook = null;
        try {
            try {
                rwb = Workbook.getWorkbook(excelFile);
            } catch (Exception ex) {
                LogHome.getLog().error("获取模板失败", ex);
                throw new Exception("获取巡检报表文件失败,模板文件必须是xls文件");
            }
            workbook = Workbook.createWorkbook(new File("D:\\Tmp\\test.xls"), rwb);
            workbook.write();
        } finally {
            if (workbook != null) {
                workbook.close(); //此时报错
            }
            if (rwb != null) {
                rwb.close();
            }
        }
    }在调用workbook.close()的时候报错,如下,有没有人碰到过啊?????多谢啦common.AssertionFailed
at common.Assert.verify(Assert.java:37)
at jxl.write.biff.CompoundFile.readAdditionalPropertySets(CompoundFile.java:398)
at jxl.write.biff.CompoundFile.<init>(CompoundFile.java:209)
at jxl.write.biff.File.close(File.java:102)
at jxl.write.biff.WritableWorkbookImpl.close(WritableWorkbookImpl.java:430)
at AdapterTest.testexcel(AdapterTest.java:363)
at AdapterTest.main(AdapterTest.java:327)
common.AssertionFailed

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-18 17:34:30的汇总数据:
    发帖数:1
    结贴数:0
    结贴率: 0.00%
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    补充一下,如果
    workbook = Workbook.createWorkbook(new File("D:\\Tmp\\test.xls"), rwb); 
    改为
    workbook = Workbook.createWorkbook(new File("D:\\Tmp\\test.xls")); 
    就不报错了,但是生成的就是一个空文件,不是根据模板生成的了。在网上查了例子都说workbook = Workbook.createWorkbook(new File("D:\\Tmp\\test.xls"), rwb); 
    这种方式是可以的,不知道为什么到我这里就不行了,哪位大侠能帮忙???
      

  3.   

    我也碰到了这样的问题诶!哪位动jxl的大侠出来看看啊!
      

  4.   

       /**
         * 复制旧excel到新工作区
         * @param inFile
         * @param outFile
         * @param index
         * @return
         * @throws BiffException
         * @throws IOException
         */
        public static WritableWorkbook createWorkbookByOld(String inFile, String outFile) throws BiffException { 
        
         File file1 = new File(inFile);
    File file2 = new File(outFile);
    try{
    Workbook wb = Workbook.getWorkbook(file1);
    WritableWorkbook wwb = Workbook.createWorkbook(file2, wb);
    if(wwb == null) return null;
    return wwb;
    }catch(IOException e){
    log.info("createWorkbookByOld IOException " + e.getMessage());
    }
    return null;
        }老实说, 我懒得看了, COPY一份给LZ,用过可用的, 希望对LZ有用^_^