Java之导入Excel 后端篇


public void updateExcel(@RequestBody MultipartFile file) {
try{
    Workbook workbook = getWorkBook(file);//获取工作簿workbook 
    Sheet sheetAt = workbook.getSheetAt(0);//根据工作簿获取整张excel表的信息

  for (int i=1; i<= sheetAt.getLastRowNum(); i++){//第一行是表头,所以不要,i从1开始

    for(int j=0; j < sheetAt.getRow(i).getLastCellNum(); j++){//循环每一行
            Cell cell = sheetAt.getRow(i).getCell(j);//获取每一个单元格的值
           String value = getValue(cell);//把单元格的值转成字符串
            System.out.print(value+" ");   } System.out.println();   } }catch(Exception e){ e.printStackTrace(); } } public static Workbook getWorkBook(MultipartFile file) { //获得文件名
    String fileName = file.getOriginalFilename(); //创建Workbook工作薄对象,表示整个excel
    Workbook workbook = null; Sheet sheet = null; try { //获取excel文件的io流
        InputStream is = file.getInputStream(); //根据文件后缀名不同(xls和xlsx)获得不同的Workbook实现类对象
        if(fileName.endsWith("xls")){ //2003
            POIFSFileSystem poifsFileSystem = new POIFSFileSystem(is); workbook = new HSSFWorkbook(poifsFileSystem); sheet = workbook.getSheetAt(0); }else if(fileName.endsWith("xlsx")){ //2007 及2007以上
            workbook = new XSSFWorkbook(is); sheet = workbook.getSheetAt(0); } } catch (IOException e) { e.printStackTrace(); } return workbook; } public static String getValue(Cell cell){ if(cell.getCellTypeEnum() == org.apache.poi.ss.usermodel.CellType.BOOLEAN){ return String.valueOf(cell.getBooleanCellValue()); }else if(cell.getCellTypeEnum() == org.apache.poi.ss.usermodel.CellType.NUMERIC){ String value = ""; if (HSSFDateUtil.isCellDateFormatted(cell)) { Date d = cell.getDateCellValue(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); value = sdf.format(d); }else{ double temp = cell.getNumericCellValue(); //value = new BigDecimal(temp).toString();
            value = String.valueOf(temp); } return value; }else if (cell.getCellTypeEnum() == org.apache.poi.ss.usermodel.CellType.STRING){ return String.valueOf(cell.getStringCellValue()); }else{ return String.valueOf(cell.getStringCellValue()); } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM