poi讀excel2003總結(一)

 

1、順便讀到對象模型中,一行是一個對象

public class ReadExcel{
    public static String fileName = "C:\\xls\\EXCEL.xls";
    public static void main(String argv[])
    {
        List list = readExcel();
    }

    /** *//**
     * 讀取磁盤上的EXCEL文件的內容
     * @return List
     */
    public static List readExcel()
    {
        List<Person> list = null;
        Pserson p = null;
        try
        {
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
                    fileName)); //得到excel對象
            HSSFSheet sheet = workbook.getSheetAt(0); //得到第一個sheet
            int rows = sheet.getPhysicalNumberOfRows(); //得到行數
            list = new ArrayList<Person>();
            for (int i = 1; i < rows; i++)
            {
                HSSFRow row = sheet.getRow(i);
                p = new Person();
                HSSFCell cell = row.getCell((short) 0); //得到列0(下標0,爲第一列)
                p.setName(cell.getStringCellValue());
                cell = row.getCell((short) 1); //得到列 1
                p.setEmail(cell.getStringCellValue());
                cell = row.getCell((short) 2); //得到列2
                p.setPhone(cell.getStringCellValue());
                cell = row.getCell((short) 3); //得到列3
                p.setPasswd(cell.getStringCellValue());
                list.add(p);
            }
            return list;
        }
        catch (Exception e)
        {
            return null;
        }
    }

 參考:http://www.blogjava.net/jwin/archive/2007/12/11/167093.html

 

2、

public class POIExcelUtil {

	public static void main(String[] args) {
		POIExcelUtil excel = new POIExcelUtil();
		excel.readExcel();
		System.out.println("結束");
	}

		
	public void readExcel(){
		File file = new File("d:\\test.xls");
		String value = "";
		try {
			FileInputStream fis = new FileInputStream(file);
			HSSFWorkbook workBook = new HSSFWorkbook(fis);
			//HSSFSheet sheet1 = workBook.getSheet("sheet1");//按名稱取得sheet
			HSSFSheet sheet1 = workBook.getSheetAt(0);//按索引號取得sheet1
			
			fis.close();
			int rows = sheet1.getLastRowNum();
			for(int i = 0; i <= rows; i++)
			{
				HSSFRow row = sheet1.getRow(i);
				if(row != null)
				{
					int cells = row.getLastCellNum();
					for(int j = 0 ; j < cells; j++)
					{
						HSSFCell cell = row.getCell(j);
						if(cell != null)
						{
							switch(cell.getCellType())
							{
							case HSSFCell.CELL_TYPE_BLANK:
								break;
							case HSSFCell.CELL_TYPE_BOOLEAN:
								value += "  " + cell.getBooleanCellValue();
								break;
							case HSSFCell.CELL_TYPE_ERROR:
								value += "  " + cell.getErrorCellValue();
								break;
							case HSSFCell.CELL_TYPE_FORMULA:
								value += "  " + cell.getCellFormula();
								break;
							case HSSFCell.CELL_TYPE_NUMERIC:
								value += "  " + cell.getNumericCellValue();
								break;
							case HSSFCell.CELL_TYPE_STRING:
								value += "  " + cell.getRichStringCellValue();
								break;
							default:
								value += "  cell類型不符";
							}
						}
					}
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException ioe){
			ioe.printStackTrace();
		}
		System.out.println(value);
	}
}


參考:http://gzwfdy.iteye.com/blog/309592

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章