天天看點

XSSFWorkbook和HSSFWorkbook讀取excel

判斷檔案是2003前的版本還是2007的版本,然後對應調用HSSF或XSSF來讀取。

        這是初步的想法,但這種做法比較麻煩,看了下API,發現XSSF和HSSF雖然在不同的包裡,但卻引用了同一接口Workbook,于是想到了這樣的讀取方法:

        Workbook book = null;

        try {

            book = new XSSFWorkbook(excelFile);

        } catch (Exception ex) {

            book = new HSSFWorkbook(new FileInputStream(excelFile));

        }

        在各版本的Excel中測試,沒有發生異常,問題解決。