2012-03-21 2 views
12

Я пытаюсь получить данные ячеек из моего .csv-файла, но он получает ошибку: jxl.read.biff.BiffException: не удается узнайте поток OLEкак решить ошибку JXL: jxl.read.biff.BiffException: не удалось распознать поток OLE

Я не понимаю, как это решить, пожалуйста, дайте мне некоторое решение. Этот код предназначен для jxl api & - это поддержка api для .csv?

Код для ссылки:

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(); 
    } 

} 

ответ

1

На самом деле вы используете другую версию файла CSV .Please сохранить его в точной версии.

Для экс: мы должны сохранить лист первенствовать в слове, как 9

35

Я также сталкиваюсь с этой проблемой ранее. Я googled и прочитал этот пост и много других сообщений, которые просили разрешения для этого BiffException. У меня нет точного решения, но, поскольку я исправил свою проблему, вы тоже можете это сделать.

Я пытался прочитать данные из файла Excel, сохраненного в MS Office 2010, и я получал эту ошибку. Я сохранил файл как Excel 2003-7, а затем прочитал его без каких-либо проблем. Возможно, эта проблема возникает в Office 10, но не в Office 2003-7.

Я надеюсь, что это сработает в вашем случае.

14

Сохранение файла как типа «Excel 97-2003 Workbook» решило мою проблему.

-1

сохранить файл в Excel 97-2003, а также изменить формат файла из XLSX в XlX, в коде (имя файла)

5

JXL библиотека оленья кожа поддержки .csv и .xslx форматов, который является формат, используемый по Excel-2010. следовательно, использовать Excel 97-2003, который является .xls foramatted и поддерживается библиотекой JXL. , или если вы хотите использовать excel-2010, используйте APACHE POI (XSSFWorkbooks) вместо JXL. Для использования CSV-формата для Google CSVReader.

0

Я пытался прочитать данные из файла Excel, сохраненного в MS Office 2010, и я получал эту ошибку. Я сохранил файл как Excel 2003-7, а затем прочитал его без каких-либо проблем. Может случиться так, что эта проблема возникает в Office 10, но не в Office 2003-7.

+0

Это не ответ, это вырезанная и вставляемая работа наиболее популярного ответа за 4 года до ваших усилий! – DaveRlz

Смежные вопросы