Java POI 讀取Excel-從開始到實例

openkk 12年前發布 | 3K 次閱讀 KVM JavaScript

POI 是apache提供的用于處理Excel 等文件的API。

1. 下載jar檔

http://poi.apache.org/download.html#POI-3.7

目前的穩定版本是 3.7.

Window 下開發下載: poi-bin-3.7-20101029.zip 

 

2. 下載后,解壓

 

3. 在Eclipse 下新建Project.

把下面的jar 檔導入到工程。

根目錄下的jar檔

lib目錄下的jar檔

ooxml-libooxml-lib 的jar 檔

 

4. 測試Class

package poi;

import java.io.FileInputStream;
import java.util.Iterator;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class POITest {
    private static void ReadAndPrintExcelFile(String filePath, String sSheetName) {
        try {
            FileInputStream fis = new FileInputStream(filePath);
            XSSFWorkbook wb = new XSSFWorkbook(fis);
            XSSFSheet sheet = wb.getSheet(sSheetName);
            for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {
                String cellNovalue = "";
                XSSFRow row = sheet.getRow(i);
                Iterator it = row.cellIterator();
                while (it.hasNext()) {
                    XSSFCell cell = (XSSFCell) it.next();
                    try {
                        cellNovalue = cell.getStringCellValue();
                    } catch (IllegalStateException e) {
                        try {
                            double dcellNovalue = sheet.getRow(i).getCell(0)
                                    .getNumericCellValue();
                            cellNovalue = String.valueOf(dcellNovalue);
                        } catch (IllegalStateException e2) {
                            cellNovalue = "";
                            e.printStackTrace();
                        }
                    } catch (Exception e3) {
                        cellNovalue = "";
                        e3.printStackTrace();
                    }

                    System.out.println("Row=" + i + "; Cell="
                            + cell.getColumnIndex() + "; Value=" + cellNovalue);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ReadAndPrintExcelFile("E:\\1.xlsx","test");

    }

}

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!