2017-12-20 6 views
0

こんにちは私はjxlを使用してExcelファイルから日付の値を読み取ろうとしていますが、他の値に問題はありませんが、無効なフォーマット: "342/12月/ 17" 私は何かが欠けています、 "/ 12月/ 17" で不正な形式れるエラー 'java.lang.IllegalArgumentExceptionが無効です' jxlを使用しています

java.lang.IllegalArgumentExceptionが言いますか?

public static Object[][] readRegisters(String file) throws IOException, BiffException { 

      ArrayList<Object[]> response = new ArrayList(); 
     Workbook workbook = Workbook.getWorkbook(new File(file)); 
     String[] names = workbook.getSheetNames(); 
     int shSrv = -1; 
     for (int i = 0; i < names.length; i++) { 
      if (names[i].toLowerCase().equals("registers")) { 
       shSrv = i; 
       break; 
      } 
     } 
     if (shSrv < 0) { 
      errores.error("file doesn't contain a sheet called registers"); 
      return new Object[0][0]; 
     } 
     Sheet sheet = workbook.getSheet(shSrv); 

     Cell[] row = sheet.getRow(0); 

     int idsrv = -1; 
     int sup = -1; 
     int ver = -1; 
     int pag = -1; 

     for (int i = 0; i < row.length; i++) { 
      Cell cell = row[i]; 
      if (cell.getContents().equals("ID")) { 
       idsrv = i; 
      } 
      if (cell.getContents().equals("DATE")) { 
       sup = i; 
      }   
      if (cell.getContents().equals("MONEY")) { 
       pag = i; 
      } 

     } 
     if ((idsrv < 0) || (sup < 0) || (pag < 0)) { 
      errores.error("columns name error"); 
      return new Object[0][0]; 
     }  

//THIS IS WHERE I READ THE DATE > DateTime.parse((row[sup].getContents())) 
     for (int i = 1; i < sheet.getRows(); i++) { 
      row = sheet.getRow(i);    
      response.add(new Object[]{DateTime.parse(row[sup].getContents()),Integer.parseInt(row[idsrv].getContents()), Integer.parseInt(row[pag].getContents()) > 0 }); 

     } 

     Object[][] table = createBiArrayFromArrayList(response); 
     return table; 

    } 

答えて

0

は(ちょっと)、それを解決し、「溶液」は、文字列

に日付からExcelファイル内の列の書式を変更することでした
関連する問題