poi导入excle并解析

/*java poi 导入excle并解析
    步骤
    1.在页面导入excle文件进入action,将文件转换成InputStream
    2.将InputStream的数据转化成HSSFWorkbook
        POIFSFileSystem f = new POIFSFileSystem(input);   
        HSSFWorkbook wb = new HSSFWorkbook(f);  
    3.获取HSSFWorkbook的表,并将表中数据一行一行循环读出,分解每行每列
    4.session.save(x);保存在数据库中
*/
    //实例:导入excle
    public Static void main(String[] args){
    InputStream input = new FileInputStream(页面传入excle对象); 
    //从spring管理的sessionFactory中创建一个session
    Session session = this.getHibernateTemplate().getSessionFactory().openSession();
    //创建事务
    Transaction tx = null;
      
    //开启事务
    tx = session.beginTransaction();
    POIFSFileSystem f = new POIFSFileSystem(input);  
    //创建从输入流创建Workbook
    HSSFWorkbook wb = new HSSFWorkbook(f);  
    //获取Workbook sheet
    HSSFSheet sheet = wb.getSheetAt(0);
    //迭代单元格
    Iterator rows = sheet.rowIterator();
    //跳过表头
    rows.next();
    while (rows.hasNext()) {
        //获取行
        HSSFRow row = (HSSFRow) rows.next();
        //将行数据转化为Hj_CyExcel 
        //Hj_CyExcel 类专门存放行对应列数据
        //这里和下面如何转换和保存对象,就不写代码了,应为每个情况都不一样
        Hj_CyExcel hj_cy = ExcelReaderUtil.reader1Hj_Cy(row);
        //将数据保存为需保存的对象--这里将对象假设成person对象
          Person person = this.saveExcel(null, hj_cy, null,
				null, null, null);
        //保存入数据库
	try {
	    session.save(person);
	} catch (Exception e1) {
	    // TODO Auto-generated catch block
	    e1.printStackTrace();
	}

    }
    //关闭事务
    tx.commit();
    finally {
        if (session != null) {
	    try {
	        session.close();
	    } catch (Exception e) {
	   }
        }
    }
    }

猜你喜欢

转载自hope-hyn.iteye.com/blog/1558951