1. 程式人生 > >java 匯入Excel檔案

java 匯入Excel檔案

記錄一下。

jsp頁面:

java程式碼

/**
	 * 獲取行和列的資料
	 * @param sheet
	 * @return
	 */
	public String getRowAndCell(Sheet sheet) {
		List<NewExpert> newExperts = new ArrayList<>();
		String msg = null;
        // 獲得資料的總行數從0開始 
        int totalRows = sheet.getLastRowNum();
        System.out.println("總行數==" + totalRows);
        // 迴圈輸出表格中的內容,首先迴圈取出行,再根據行迴圈取出列  
        for (int i = 1; i <= totalRows; i++) { 
        	Row row = sheet.getRow(i); //取出一行資料放入row
            NewExpert newExpert = new NewExpert();
			int lastCellIndex = row.getLastCellNum();
			for (int j = 0; j < lastCellIndex; j++) { 
				try {
					Cell cell = row.getCell(j);//獲得一列的資料
					switch (j) {
					    case 0:
					    	if (null != cell.getStringCellValue()) {
					    		
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 1:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 2:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 3:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 4:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 5:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 6:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 7:
							if (null != cell.getStringCellValue()) {
								
					    	} else {
					    		return msg = "第" + i + "行第" + j+1 + "列資料有誤!";
					    	}
							break;
						case 8:
							if(null != cell.getDateCellValue()){
								
							}
							break;
						case 9:
							if(null != cell.getStringCellValue()){
								
							}
							break;
						case 10:
							if(null != cell.getDateCellValue()){
								
							}
							break;
						case 11:
							if(null != cell.getStringCellValue()){
								
							}
							break;
						case 12:
							if(null != cell.getStringCellValue()){
								
							}
							break;
						case 13:
							if(null != cell.getStringCellValue()){
								
							}
							break;
						case 14:
							if(null != cell.getStringCellValue()){
								
							}
							break;
						//具體有多少列就處理多少列吧
						default:
							break;
					}
				} catch (Exception e) {
					e.printStackTrace();
					return msg = "匯入失敗,第" + i + "行第" + (j+1) + "列資料有誤! ";
				}
            
			} //列迴圈結束
			
            newExperts.add(newExpert);
            
        } //行end
        
        try {
			for (NewExpert expert : newExperts) {  //這裡遍歷儲存資料
				this.insert(expert); 
				
			}
		} catch (Exception e) {
			e.printStackTrace();
			return msg = e.getMessage();
		}
        msg = "匯入成功!";
        return msg;
	}

匯出模板