excl导入 poi

后台代码
/**
	 * 导入药品
	 * @param request
	 * @return
	 */
	@SuppressWarnings("unused")
	@ApiOperation(value = "导入药品", notes = "导入药品")
	@ApiResponses(value = { @ApiResponse(code = 200, message = RETURNMESSAGE+Constant.RETURNERRORCODE) })
	@RequestMapping(value = "/impExcel", method = RequestMethod.POST)
	@ResponseBody
	public FFApiResponse
    
    
     
     > impExcelMat(HttpServletRequest request,@RequestParam("impExcelFile") MultipartFile impExcelFile){
		Map
     
     
      
       returnData=new HashMap
      
      
       
       ();
		List
       
       
         matList=new ArrayList 
        
          (); StringBuilder errorInfo=new StringBuilder(); Map 
         
           paramMap = new HashMap 
          
            (); HttpSession session=request.getSession(); User user = (User) session.getAttribute("user"); int pharmacyId = user.getPharmacy().getPid(); int supplierId = homePageServiceImpl.findSupplierIdByPharmacyId(pharmacyId); boolean result=false; if(!impExcelFile.isEmpty()){ ScmMaterial scmMat=null; try { InputStream is = impExcelFile.getInputStream(); HSSFWorkbook hwk = new HSSFWorkbook(is);// 将is流实例到 一个excel流里 HSSFSheet sh = hwk.getSheetAt(0);// 得到book第一个工作薄sheet int rows =sh.getPhysicalNumberOfRows();// 总行数 if(rows==0){ return error("200","excel不能为空"); }else{ HSSFRow row = sh.getRow(4); if(null==row){ return error("201","excel格式不正确"); } String str1=Converter.toBlank(row.getCell(0)); String str2=Converter.toBlank(row.getCell(1)); String str3=Converter.toBlank(row.getCell(2)); String str4=Converter.toBlank(row.getCell(3)); String str5=Converter.toBlank(row.getCell(4)); String str6=Converter.toBlank(row.getCell(5)); String str7=Converter.toBlank(row.getCell(6)); String str8=Converter.toBlank(row.getCell(7)); String str9=Converter.toBlank(row.getCell(8)); String str10=Converter.toBlank(row.getCell(9)); String str11=Converter.toBlank(row.getCell(10)); String str12=Converter.toBlank(row.getCell(11)); String str13=Converter.toBlank(row.getCell(12)); String str14=Converter.toBlank(row.getCell(13)); if(!str1.equals("药品编码(*)") && !str2.equals("药品名称(*)") &&!str3.equals("国药准字(*)") && !str4.equals("药品批号") &&!str5.equals("生产厂家") && !str6.equals("规格(*)") &&!str7.equals("采购价(*)") && !str8.equals("零售价格") &&!str9.equals("库存(*)") && !str10.equals("售卖状态") &&!str11.equals("产地") && !str12.equals("剂型") &&!str13.equals("生产日期(*)") && !str14.equals("有效期至(*)") ){ return error("201","excel格式不正确");//验证excel表头是否正确 } } for(int i=5; i 
           
             0){//判断是否有错误信息,有则返回。 /*returnData.put("msg",errorInfo);*/ /*return error("202",errorInfo.toString());*/ return error("202","上传数据有误,请检查后上传"); } if(null!=matList && matList.size()>0){ result=this.materialService.insertMaterial(paramMap); if(result){ return success(); } } } catch (Exception e) { e.printStackTrace(); logger.error("ScmMaterialController---impExcelMat:"+e); return error(e.getLocalizedMessage()); } } return error("203","资源文件为空"); } 
            
           
          
         
       
      
      
     
     
    
    
工具方法1:
public static String getValue(HSSFCell cell) {
String value = "";
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC: // 数值型
if (HSSFDateUtil.isCellDateFormatted(cell)) {
// 如果是date类型则 ,获取该cell的date值
value = Converter.toDateString(HSSFDateUtil
.getJavaDate(cell.getNumericCellValue()));
} else {// 纯数字
value = String.valueOf(cell.getNumericCellValue());
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) == 'E' || value.charAt(i) == 'e') {
BigDecimal dd = new BigDecimal(value);
value = dd.longValue() + "";
}
if (value.substring(value.length() - 2).equals(".0")) {
value = value.substring(0, value.length() - 2);
}
}
}
break;
/* 此行表示单元格的内容为string类型 */
case HSSFCell.CELL_TYPE_STRING: // 字符串型
value = cell.getStringCellValue().toString();
break;
case HSSFCell.CELL_TYPE_FORMULA:// 公式型
// 读公式计算值
value = String.valueOf(cell.getNumericCellValue());
if (value.equals("NaN")) {// 如果获取的数据值为非法值,则转换为获取字符串
value = cell.getStringCellValue().toString();
}
break;
case HSSFCell.CELL_TYPE_BOOLEAN:// 布尔
value = " " + cell.getBooleanCellValue();
break;
/* 此行表示该单元格值为空 */
case HSSFCell.CELL_TYPE_BLANK: // 空值
value = "";
break;
case HSSFCell.CELL_TYPE_ERROR: // 故障
value = "";
break;
default:
}
}


return value;
}
工具方法2:
public static String toBlank(Object obj) {
if (obj == null) {
return "";
} else {
return obj.toString().trim();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值