java使用poi导入excel

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;

public class PoiUtil {
	public static FormulaEvaluator evaluator;
	public static String getCellValue(Cell cell) {
        if (cell==null) {
            return "isNull";
        }
        String cellValue = null;
        switch (cell.getCellType()) {
        case Cell.CELL_TYPE_STRING:
            cellValue=cell.getStringCellValue();
            break;

        case Cell.CELL_TYPE_NUMERIC:
            cellValue=String.valueOf(cell.getNumericCellValue());
            break;
            
        case Cell.CELL_TYPE_FORMULA:
            cellValue=getCellValue(evaluator.evaluate(cell));
            break;
        default:
            break;
        }
        
        return cellValue;
    }

    private static String getCellValue(CellValue cell) {
        String cellValue = null;
        switch (cell.getCellType()) {
        case Cell.CELL_TYPE_STRING:
            cellValue=cell.getStringValue();
            break;
        case Cell.CELL_TYPE_NUMERIC:
            cellValue=String.valueOf(cell.getNumberValue());
            break;
        case Cell.CELL_TYPE_FORMULA:
            break;
        default:
            break;
        }
        
        return cellValue;
    }
}

@RequestMapping("importExcel")
	public void importExcel(@RequestParam(value = "file", required = false) MultipartFile file,  
            HttpServletResponse response,HttpServletRequest request) throws Exception{
		Workbook wb0 = new HSSFWorkbook(file.getInputStream());
		FormulaEvaluator evaluator=wb0.getCreationHelper().createFormulaEvaluator();
		PoiUtil.evaluator=evaluator;
		//获取Excel文档中的第一个表单
		Sheet sht0 =  wb0.getSheetAt(0);
		//对Sheet中的每一行进行迭代
		for (Row r : sht0) {
		    //从第三行开始
			if(r.getRowNum()<3){
				continue;
			}
			//创建实体类
			Testentity entity= new Testentity();
			try {
				if(PoiUtil.getCellValue(r.getCell(0))!=null)
				entity.setSortNum(new BigDecimal(PoiUtil.getCellValue(r.getCell(0))));
				entity.setDevNo(PoiUtil.getCellValue(r.getCell(1)));
				entity.setDevName(PoiUtil.getCellValue(r.getCell(2)));
				entity.setDevInfo(PoiUtil.getCellValue(r.getCell(3)));
				entity.setDevUnit(PoiUtil.getCellValue(r.getCell(4)));
				if(PoiUtil.getCellValue(r.getCell(5))!=null)
				entity.setDevCount(new BigDecimal(PoiUtil.getCellValue(r.getCell(5))));
				if(PoiUtil.getCellValue(r.getCell(6))!=null)
				entity.setBidUnitPrice(new BigDecimal(PoiUtil.getCellValue(r.getCell(6))));
				if(PoiUtil.getCellValue(r.getCell(7))!=null)
				entity.setBidSumPrice(new BigDecimal(PoiUtil.getCellValue(r.getCell(7))));
				if(PoiUtil.getCellValue(r.getCell(8))!=null)
				entity.setBidTempPrice(new BigDecimal(PoiUtil.getCellValue(r.getCell(8))));
				if(PoiUtil.getCellValue(r.getCell(9))!=null)
				entity.setCostUnitPrice(new BigDecimal(PoiUtil.getCellValue(r.getCell(9))));
				if(PoiUtil.getCellValue(r.getCell(10))!=null)
				entity.setCostSumPrice(new BigDecimal(PoiUtil.getCellValue(r.getCell(10))));
			} catch (NumberFormatException e) {
			}
		}
		
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值