天天看點

java讀取excel檔案顯示Unable to recognize OLE stream

源代碼如下:

package institution;

import java.io.*;

import jxl.*;

public class process

{

public static void main(String args[])

{

try{

Workbook book = Workbook.getWorkbook(new File("C:/Users/lingyu/Desktop/工程引文索引2015.xls"));     

Sheet sheet = book.getSheet(0);                                                                                       

Cell cell = sheet.getCell(1,0);                                                                                       

String result = cell.getContents();                                                                                   

System.out.println(result);                                                                                           

book.close();                                                                                                         

}catch(Exception e){

System.out.println(e);

}

}

}

代碼運作顯示Unable to recognize OLE stream,則有兩種可能:

1. 讀取的excel非2003版本,也就是檔案字尾為  .xlsx  而非 .xls  (上述代碼并不存在這種問題)

2. 讀取的excel是從網頁上下載下傳的,而這個網頁的功能就是到處excel,但做的偷懶并沒有用  jxl  和  POI  等庫,而是直接用 JSP 生成 HTML 寫的。

上述兩種問題的解決方法均可采用:将原檔案重新儲存為office 2002版的  .xls 檔案