现有一个excel文件 ,设置密码为123,用jxl怎么读取。????常规读取会报
Exception in thread "main" jxl.read.biff.PasswordException: The workbook is password protected
at jxl.read.biff.WorkbookParser.parse(WorkbookParser.java:582)
at jxl.Workbook.getWorkbook(Workbook.java:237)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at Test.main(Test.java:29)

解决方案 »

  1.   

    楼主好像你要读的文件是受保护的,即使有密码也要有打开的协议,需要自己写一个协议,具体是什么要根据excel来定。但是我没有具体的例子
      

  2.   

    WritableWorkbook wwb = Workbook.createWorkbook(new File("d:/test.xls")); 
        WritableSheet ws = wwb.createSheet("Test Sheet 1", 0); 
        SheetSettings ss = ws.getSettings(); 
        ss.setPassword("12345678"); 
        ss.setProtected(true);
      

  3.   

    ws =workbook.getSheet(0).getSettings().setPassword("12345678");读取
      

  4.   

    你这个是设置单个sheet的password
    。。我说的是整个工作薄的密码
      

  5.   


     /**   
            *   Does   the   hard   work   of   building   up   the   object   graph   from   the   excel   bytes   
            *   
            *   @exception   BiffException   
            *   @exception   PasswordException   if   the   workbook   is   password   protected   
            */   
          protected   void   parse()   throws   BiffException,   PasswordException   
          {   
              ……   
          }  
     
        
      不支持带密码的workbook。   
      只支持带密码的worksheet,用法如:workbook.getSheet(0).getSettings().setPassword("123"); 源码参见WorkbookParser.java