zoukankan      html  css  js  c++  java
  • [置顶] poi最简单易学解析xls代码

    今天项目中涉及到要用到上传excel文件,并把读取到的数据到数据库里面,需求是这样的,你自己要做一个xls文件的样本,要不然用户怎么知道该

    所以这样做好后就可以解析了下面是解析代码



    public static void main(String[] arg) throws Exception{
    			InputStream is=new FileInputStream("C:/Documents and Settings/Administrator/workspace/trainsystem/WebContent/WEB-INF/classes/Sample.xls");
    			
    			HSSFWorkbook wb=new HSSFWorkbook(is);
    			HSSFSheet sheet = wb.getSheetAt(0);
    			for(int i =sheet.getFirstRowNum()+1 ;i<=sheet.getLastRowNum() ;i++){//因为第一行是标题所以不需要读取
    				HSSFRow row = sheet.getRow(i);
    				for(int j=row.getFirstCellNum() ;j<row.getLastCellNum() ;j++){
    					
    					HSSFCell cell   = row.getCell(j);//获得这一行的每一列的单元格对象
    					
    					if(j==3){//因为我第三行是日期的,发现wps和excelyyyy年M月d日和yyyy-M-d是互通的,因wps会自动把这2中类型加上单元格格式
    						switch(cell.getCellType()) {
    					    	case HSSFCell.CELL_TYPE_NUMERIC:
    					    		System.out.println(cell.getDateCellValue().toString());
    					    		break;
    					    	case HSSFCell.CELL_TYPE_STRING://为了还可以处理yyyy.M.d这种类型的
    					    		System.out.println(new SimpleDateFormat("yyyy.M.d").parse(cell.getStringCellValue()).toString());
    					    		break;
    						}
    
    					}else{
    						cell.setCellType(Cell.CELL_TYPE_STRING);
    						String str=cell.getStringCellValue();
    						System.out.println(str);
    					}
    					
    					
    				}
    				
    			}
    	}


    希望对大家有所帮助

  • 相关阅读:
    Redis缓存穿透和雪崩
    Redis主从复制
    Redis发布订阅
    IO多路复用
    Synchronized解读
    日志导致jvm内存溢出相关问题
    tomcat及springboot实现Filter、Servlet、Listener
    MySQL主从复制针对trigger的特殊处理
    二、变量/常量/数据类型
    Ubuntu21.04 / Linux Mint20.2 安装 TradingView分析软件
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3019556.html
Copyright © 2011-2022 走看看