POI的匯入功能(EXCEL)
阿新 • • 發佈:2019-01-05
SSM專案結合POI匯入
需要的jar包如下:(XSSFWorkbook 和HSSFWorkbook 都適用)
InputStream inputStream = file.getInputStream(); //此處file指的是springmvc的MultipartFile HashMap<String, String> map = new HashMap<String, String>(); //用於資料 XSSFWorkbook workbook = new XSSFWorkbook(inputStream); //XSSF...接收的xlsx格式 //HSSFWorkbook workbook = new HSSFWorkbook(inputStream); //HSSF..接收的是xls格式 XSSFSheet sheet = workbook.getSheetAt(0); //得到第一個sheet頁 for (Row row : sheet) { //便利sheet頁的“每一行” ==row int num = row.getRowNum(); //得到每一行的行號,從0開始 // 剔除標題 if (num == 0) { if ("".equals(row.getCell(1)) || row.getCell(1) == null) { return "錯誤的的Excel檔案!"; } else if ("標準名稱".equals(row.getCell(1) .getStringCellValue())) { continue; //跳出本次迴圈 } else { return "請選擇正確的Excel檔案!"; } } for (int i = 0; i < row.getLastCellNum(); i++) {//row.getLastCellNum()得到總列數,即此處迴圈是 便利每一行的 每一列,i指的是列數 row.getCell(i)得到單元格的數值 if (row.getCell(i) == null || "".equals(row.getCell(i))) { sb.append("第" + row.getRowNum() + "內容不可為空, "); } else { // 將第row行的第i列 的cell中的 內容當做字串處理 row.getCell(i).setCellType(XSSFCell.CELL_TYPE_STRING);//設定格式為String型別 map.put("" + i + "", row.getCell(i) .getStringCellValue()); } } validityStd.setA100(map.get("0")); validityStd.setA298(map.get("1")); validityStd.setSearchNo(validity.getSearchNo()); //編號 int m = validityStdMapper.insert(validityStd);//存入資料庫 if (m < 1) { return "新增失敗"; } }