java 匯入Excel檔案
阿新 • • 發佈:2019-02-02
記錄一下。
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; }
匯出模板