Java 导入excel


package com.wt.wkbox.common;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import net.paoding.rose.web.Invocation;

import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.wt.wkbox.common.util.IdTool;
import com.wt.wkbox.model.basic.biz.WkboxMoneyConsumeView;
import com.wt.wkbox.model.userManager.WkboxUser;

/**
 * ClassName:Test <br/>
 * Function:  ADD FUNCTION. <br/>
 * Reason:	  ADD REASON. <br/>
 * Date:     2016年7月9日 下午2:26:13 <br/>
 * @author   wpengfei
 * @version  
 * @since    JDK 1.6
 * @see 	 
 */
public class Test {
	

	public static List<WkboxMoneyConsumeView> getStudentFromExcel(String excelUrl) {
		
		excelUrl = "E:\\wkBox\\web\\wkBox-mobile-web\\trunk\\wkBox-web\\src\\main\\webapp\\upload\\1468043253038.xls";
		
		List<WkboxMoneyConsumeView> list=new ArrayList<WkboxMoneyConsumeView>();
		
		try {
			//把一张xls的数据表读到wb里
			HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(new File(excelUrl)));
			 
			//读取第一页,一般一个excel文件会有三个工作表,这里获取第一个工作表来进行操作    
			HSSFSheet sheet = wb.getSheetAt(0);
			//循环遍历表sheet.getLastRowNum()是获取一个表最后一条记录的记录号,
			//如果总共有3条记录,那获取到的最后记录号就为2,因为是从0开始的
			for(int j=1;j<sheet.getLastRowNum()+1;j++) {
				//创建一个行对象
				HSSFRow row = sheet.getRow(j);
				
				WkboxMoneyConsumeView consume = new WkboxMoneyConsumeView();
				
				//把一行里的每一个字段遍历出来
				for(int i=0;i<row.getLastCellNum();i++) {
					//创建一个行里的一个字段的对象,也就是获取到的一个单元格中的值
					HSSFCell cell = row.getCell(i);
					
					if(cell==null ){
						continue;
					}
					//在这里我们就可以做很多自己想做的操作了,比如往数据库中添加数据等
					if(i == 0){
						consume.setId(getValue(cell));
					}else if(i == 1 ){
					}else if(i == 2){
					}else if(i == 3){
						consume.setSchoolName(getValue(cell));
					}else if(i == 4){
					}else if(i == 5){
					}else if(i == 6){
					}else if(i == 7){
					}
				}
				list.add(consume);
				
				}
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}finally{
				File file=new File(excelUrl);
//				file.delete();
			}
		
		return list;
			
	}
	
	public static void main(String[] args) {
		
		List<WkboxMoneyConsumeView> list = getStudentFromExcel("1234");
		
		System.out.println(list.size());
		
		for(WkboxMoneyConsumeView consume : list){
			
			System.out.println(consume.getId()+": "+consume.getSchoolName());
		}
	}
	
	@SuppressWarnings("static-access")
	private static String getValue(HSSFCell hssfCell) {
	       if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
	               return String.valueOf(hssfCell.getBooleanCellValue());
	        } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
	                return String.valueOf(hssfCell.getNumericCellValue());
	        } else {
	             return String.valueOf(hssfCell.getStringCellValue());
	        }
	    
	  }
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值