jeefast匯入Excel---同步實現匯入字尾為.xls和字尾名為.xlsx(在jeefast實現匯入功能的基礎上)

山長水闊373發表於2020-11-11

Controller
xlsx
在這裡插入圖片描述
在這裡插入圖片描述
xls
在這裡插入圖片描述

	//匯入
	//處理檔案上傳==》匯入
	@RequestMapping(value = "/excelImport")
	public String uploadImg1(@RequestParam("file1") MultipartFile file1, HttpServletRequest request) {
		String sname = file1.getContentType();
		try {
			String suffer = file1.getOriginalFilename().substring(file1.getOriginalFilename().indexOf(".") + 1);
			//根據路徑獲取這個操作excel的例項
			if("xlsx".equals(suffer)){
				XSSFWorkbook wb = new XSSFWorkbook(file1.getInputStream());            //根據頁面index 獲取sheet頁
				XSSFSheet sheet = wb.getSheetAt(0);
				XSSFRow row = null;
				List<Student> student = new ArrayList<Student>();
				if (sheet.getPhysicalNumberOfRows() == 0) {//2
					return "檔案為空!";
				}
				System.out.println(sheet.getPhysicalNumberOfRows());//總行數
				for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
					row = sheet.getRow(i);
					Student data = new Student();
					data.setSname(row.getCell(0).getStringCellValue());//第一列
					row.getCell(1).setCellType(CellType.STRING);//第二列
					data.setCard(row.getCell(1).getStringCellValue());
					row.getCell(2).setCellType(CellType.STRING);//第三列
					data.setCid(Integer.parseInt(row.getCell(2).getStringCellValue()));
	//				data.setSbirthday(new SimpleDateFormat("yyyy-MM-dd").parse(row.getCell(3).getStringCellValue()));
					data.setSbirthday(row.getCell(3).getDateCellValue());
	//				data.setPicture(row.getCell(4).getStringCellValue());
					System.out.println(data.toString());
					studentService.insert(data);
				}
			}else{
				HSSFWorkbook wb = new HSSFWorkbook(file1.getInputStream());            //根據頁面index 獲取sheet頁
				HSSFSheet sheet = wb.getSheetAt(0);
				HSSFRow row = null;
				for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
					row = sheet.getRow(i);
					Student data = new Student();
					data.setSname(row.getCell(0).getStringCellValue());//第一列
					row.getCell(1).setCellType(CellType.STRING);//第二列
					data.setCard(row.getCell(1).getStringCellValue());
					row.getCell(2).setCellType(CellType.STRING);//第三列
					data.setCid(Integer.parseInt(row.getCell(2).getStringCellValue()));
//				data.setSbirthday(new SimpleDateFormat("yyyy-MM-dd").parse(row.getCell(3).getStringCellValue()));
					data.setSbirthday(row.getCell(3).getDateCellValue());
//				data.setPicture(row.getCell(4).getStringCellValue());
					System.out.println(data.toString());
					studentService.insert(data);
				}
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
		return "1";
	}

在這裡插入圖片描述
在這裡插入圖片描述
資料庫結果
在這裡插入圖片描述

相關文章