2012-03-21 26 views
12

estoy tratando de obtener datos de la celda de mi archivo .csv pero se obtiene el error: jxl.read.biff.BiffException: no se puede reconocer OLE corrientecómo resolver el error JXL: jxl.read.biff.BiffException: no se puede reconocer la secuencia OLE

No entiendo cómo resolver esto, por favor dame alguna solución este código es para jxl api & ¿esa es la API compatible con .csv?

Código

para referencia:

public void read() throws IOException, BiffException { 

    File inputWorkbook = new File(inputFile); 

    try 
    { 
     w = Workbook.getWorkbook(inputWorkbook.getAbsoluteFile()); 
     // Get the first sheet 
     Sheet sheet = w.getSheet(0); 
     // Loop over first 10 column and lines 

     for (row = 1; row < sheet.getRows(); row++) 
     { 
      ReadExcelLotSizeEntity readExcelLotSizeEntity =new ReadExcelLotSizeEntity(); 

       cell = sheet.getCell(1,row); 
       type= cell.getType(); 
       if (cell.getType() == CellType.LABEL) 
       { 

        symbol=cell.getContents(); 
        System.out.println(":::::::::::::::::"+symbol); 
        readExcelLotSizeEntity.setSymbol(symbol); 
       } 

       int col=2; 
       cell = sheet.getCell(col,row); 
       while(!cell.getContents().equals("")||cell.getContents()!=null) 
       { 
        System.out.println("||||||||||||||||"+cell.getContents()); 
        cell=sheet.getCell(col,row); 
        col++; 
       } 
       lotSize= new Double(cell.getContents()); 
       readExcelLotSizeEntity.setLotSize(lotSize); 
       readExcelLotSizeEntity.setCreateUserId(1L); 
       readExcelLotSizeEntity.setCreateDtTm(new Date()); 
       readExcelLotSizeHome.persist(readExcelLotSizeEntity); 
      } 

    } catch (BiffException e) { 
     e.printStackTrace(); 
    } 

} 

Respuesta

1

realidad está utilizando la versión diferente del archivo csv Éntrenos en guardarlo en la versión exacta.

Por ejemplo: debemos guardar la hoja de cálculo de Excel en palabra como 9

35

También estaba frente a este problema antes. Busqué en Google y leí esta publicación y muchas otras publicaciones que pedían una solución a este BiffException. No tengo la solución exacta, pero como solucioné mi problema, tú también puedes hacerlo.

Estaba tratando de leer datos del archivo de Excel guardado en MS Office 2010 y recibí este error. Guardé el archivo como Excel 2003-7 y luego lo leí sin ningún problema. Es posible que este problema ocurra en Office 10 pero no en Office 2003-7.

Espero que esto funcione en su caso.

14

Guardar archivo como tipo "Excel 97-2003 Workbook" resolvió mi problema.

-1

guardar el archivo como Excel 97-2003 y también cambiar el formato de archivo xlsx a XLX, en el código (en el nombre de archivo)

5

biblioteca JXL doesnot apoyo .csv y .xslx formatos, que es el formato utilizado por Excel-2010. por lo tanto, use Excel 97-2003 que está .xls forjado y es compatible con la biblioteca JXL. o si desea utilizar excel-2010, use APACHE POI (XSSFWorkbooks) en lugar de JXL. Para usar el formato .csv, google para bibliotecas de CSVReader.

0

Estaba intentando leer datos del archivo de Excel guardado en MS Office 2010 y recibí este error. Guardé el archivo como Excel 2003-7 y luego lo leí sin ningún problema. Puede ser el caso de que este problema ocurra en Office 10 pero no en Office 2003-7

+0

Esto no es una respuesta, es un trabajo de cortar y pegar de la respuesta más popular dada 4 años antes de su esfuerzo! – DaveRlz

Cuestiones relacionadas