2016-07-19 6 views
0

Пожалуйста, найдите Java-код Apache POI для чтения файла .xls.Невозможно прочитать файл excel с использованием Apache POI - получение исключения

FileInputStream file = new FileInputStream(new File("C:\\test.xls")); 

      //Get the workbook instance for XLS file 
      HSSFWorkbook workbook = new HSSFWorkbook(file); 

при чтении файла .xls с помощью Java Apache POI, я получаю ошибку ниже в Java Console.

java.io.IOException: недопустимая подпись заголовка; read 0x6C6D783F3CBFBBEF, ожидается 0xE11AB1A1E011CFD0 - Ваш файл не является действительным документом OLE2

Я могу вручную открыть файл Excel без каких-либо проблем. У нас есть решение, чтобы преодолеть это. Я полностью исключаю идеи, поэтому любая помощь/указатели очень ценятся :)

+0

Возможный дубликат [Недопустимая подпись заголовка; IOException с Apache POI в документе excel] (http://stackoverflow.com/questions/3677925/invalid-header-signature-ioexception-with-apache-poi-on-excel-document) – soorapadman

+0

Пожалуйста, не связывайтесь с вопросами, которые не имеет надлежащего ответа. Вы уже искали эти ссылки, и я размещаю это –

ответ

-1
FileInputStream fis = new FileInputStream(new File(yourpath+"/WebContent/ProductUpload.xlsx")); 
     XSSFWorkbook workbook = new XSSFWorkbook (fis); 
     int numberOfSheets = workbook.getNumberOfSheets(); 

     for(int i=0; i < numberOfSheets; i++){ 

      XSSFSheet sheet = workbook.getSheetAt(i); 
       Iterator ite = sheet.rowIterator(); 
       while(ite.hasNext()){ 
        Row row = (Row)ite.next(); 
         Iterator<org.apache.poi.ss.usermodel.Cell> cite = row.cellIterator(); 
         while(cite.hasNext()){ 
          org.apache.poi.ss.usermodel.Cell cell = cite.next(); 

          } 

       } 
     } 
+0

Не могли бы вы предоставить полный код, пожалуйста, gokul –

+0

В вашем случае используйте HSSFWorkbook – Gokul

+0

Вышеупомянутый код не работает над проблемой, о которой я упоминал. Не могли бы вы предложить, где добавить код ниже, который вы предложили за несколько минут назад Гокул? response.setContentType ("применение/vnd.ms-Excel"); –

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