poiによるexcelの読み取り操作の例


利用するのはpoi 3.7のバージョンは、Dディスクの下のtestを試してみます.xlsファイルによる読み取り操作
package com.cn;

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

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class Test {

	public static void main(String []args){
		
		try {
			InputStream input = new FileInputStream("d:\\test.xls");
			POIFSFileSystem fs = new POIFSFileSystem(input);
			HSSFWorkbook wb = new HSSFWorkbook(fs);
			HSSFSheet sheet = wb.getSheetAt(0);
			
			Iterator<?> rows = sheet.rowIterator();
			while(rows.hasNext()){
				HSSFRow row = (HSSFRow)rows.next();
				System.out.println("Row#"+row.getRowNum());
				Iterator<?> cells = row.cellIterator();
				while(cells.hasNext()){
					HSSFCell cell = (HSSFCell)cells.next();
					System.out.println("Cell#"+cell.getColumnIndex());
					switch(cell.getCellType()){
					case HSSFCell.CELL_TYPE_NUMERIC:
						System.out.println(cell.getNumericCellValue());
						break;
					case HSSFCell.CELL_TYPE_STRING:
						System.out.println(cell.getStringCellValue());
						break;
					case HSSFCell.CELL_TYPE_BOOLEAN:
						System.out.println(cell.getBooleanCellValue());
						break;
					case HSSFCell.CELL_TYPE_FORMULA:
						System.out.println(cell.getCellFormula());
						break;
					default:
						System.out.println("unsuported cell type");
						break;
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}