我要怎么在导入的时候将空格删掉

不好意思我好像搞错了是这种类型的文件

img

现在是表里有个空格也可以导入
我想要将空格给删掉要怎么操作

        ParamCriteria criteria1 = new ParamCriteria();
        criteria1.setEnterpriseId(pojo.getPurcorpId());
        criteria1.setParamDefCode("SA024");
        List<ParamPOJO> paramPOJOs = paramService.queryParam(criteria1);
        List<QuotationOfferDetail> details=new ArrayList<>();
        //精度位数
        ParamCriteria criteria2 = new ParamCriteria();
        criteria2.setEnterpriseId(pojo.getPurcorpId());
        criteria2.setParamDefCode("SA026");
        List<ParamPOJO> paramPOJO2 = paramService.queryParam(criteria2);
        //默认精度
        int num=8;
        if(paramPOJO2!=null && paramPOJO2.size()>0){
            num=Integer.parseInt(paramPOJO2.get(0).getValue());
        }
        BigDecimal hundred = BigDecimal.valueOf(100);
        //无税优先
        if(paramPOJOs!=null && paramPOJOs.size()>0&&paramPOJOs.get(0).getValue().equals("2")) {
            details = QuotationOfferNoTaxExcelUtil.excel2Detail(excelFile, pojo);
            for(QuotationOfferDetail vo:details){
                BigDecimal taxrate = getPriceBodyTaxrete(vo);
                if(vo.getNoTaxPrice()!=null){
                    vo.setNoTaxPrice(vo.getNoTaxPrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setTaxPrice(vo.getNoTaxPrice().multiply(BigDecimal.ONE.add(taxrate.divide(hundred))).setScale(num, RoundingMode.HALF_UP));
                    }
                }
                if(vo.getNoTaxAcceptancePrice()!=null){
                    vo.setNoTaxAcceptancePrice(vo.getNoTaxAcceptancePrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setAcceptancePrice(vo.getNoTaxAcceptancePrice().multiply(BigDecimal.ONE.add(taxrate.divide(hundred))).setScale(num, RoundingMode.HALF_UP));
                    }
                }
                if(vo.getNoTaxPaymentPrice()!=null){
                    vo.setNoTaxPaymentPrice(vo.getNoTaxPaymentPrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setPaymentPrice(vo.getNoTaxPaymentPrice().multiply(BigDecimal.ONE.add(taxrate.divide(hundred))).setScale(num, RoundingMode.HALF_UP));
                    }
                }
            }
        }else{
            details = QuotationOfferExcelUtil.excel2Detail(excelFile, pojo);
            for(QuotationOfferDetail vo:details) {
                BigDecimal taxrate = getPriceBodyTaxrete(vo);
                if(vo.getTaxPrice()!=null){
                    vo.setTaxPrice(vo.getTaxPrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setNoTaxPrice(vo.getTaxPrice().divide(BigDecimal.ONE.add(taxrate.divide(hundred)), num, RoundingMode.HALF_UP));

                    }
                }
                if(vo.getAcceptancePrice()!=null){
                    vo.setAcceptancePrice(vo.getAcceptancePrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setNoTaxAcceptancePrice(vo.getAcceptancePrice().divide(BigDecimal.ONE.add(taxrate.divide(hundred)), num, RoundingMode.HALF_UP));

                    }
                }
                if(vo.getPaymentPrice()!=null){
                    vo.setPaymentPrice(vo.getPaymentPrice().setScale(num, RoundingMode.HALF_UP));
                    if(vo.getTaxrate()!=null){
                        vo.setNoTaxPaymentPrice(vo.getPaymentPrice().divide(BigDecimal.ONE.add(taxrate.divide(hundred)), num, RoundingMode.HALF_UP));
                    }
                }
            }
        }
        //品牌
        if(paramPOJOs!=null && paramPOJOs.size()>0&&paramPOJOs.get(0).getValue().equals("2")) {
            details = QuotationOfferNoTaxExcelUtil.excel2Detail(excelFile, pojo);
            for(QuotationOfferDetail vo:details){
                BigDecimal suppProductName = getPriceBodyTaxrete(vo);
                if(vo.getSuppProductName()!=null){
                    vo.setSuppProductName(vo.getSuppProductName());
                }
                if(vo.getSuppProductName()!=null){
                    vo.setSuppProductName(vo.getSuppProductName());
                }
                if(vo.getSuppProductName()!=null){
                    vo.setSuppProductName(vo.getSuppProductName());
                }
            }
        }else{
            details = QuotationOfferExcelUtil.excel2Detail(excelFile, pojo);
            for(QuotationOfferDetail vo:details) {
                BigDecimal suppProductName = getSuppProductName(vo);
                if(vo.getSuppProductName()!=null){
                    vo.setSuppProductName(vo.getSuppProductName());
                    }
                }
        }
        return JSON.toJSONString(details);
    }


    private BigDecimal getPriceBodyTaxrete(QuotationOfferDetail vo) {
        String rowno = "";
        if (vo.getRowNo() != null) {
            rowno = "行号:" + vo.getRowNo();
        }
        Assert.isTrue(!Strings.isNullOrEmpty(vo.getTaxrate()), "税率字段不能为空!" + rowno);
        BigDecimal taxrate = null;
        try {
            taxrate = new BigDecimal(vo.getTaxrate());
        } catch (Exception e) {
            LOG.error("转换税率出错, Taxrete:" + vo.getTaxrate(), e);
        }
        Assert.notNull(taxrate, "税率字段应该为数字,并且不能为空!" + rowno);
        return taxrate;
    }
private BigDecimal getSuppProductName(QuotationOfferDetail vo) {
    String rowno = "";
    if (vo.getRowNo() != null) {
        rowno = "行号:" + vo.getRowNo();
    }
    Assert.isTrue(!Strings.isNullOrEmpty(vo.getSuppProductName()), "品牌/产地/材质字段不能为空!" + rowno);
    BigDecimal suppProductName = new BigDecimal(0);
    try {
        suppProductName = new BigDecimal(vo.getSuppProductName().trim ());
    } catch (Exception e) {
        LOG.error("转换品牌/产地/材质出错, suppProductName:" + vo.getSuppProductName(), e);
    }
    return suppProductName;
}
我用trim试过去除不了

这里有空格也会导入要怎么在代码中将空格删掉

img

对代码122行做"去空"处理,改为suppProductName = new BigDecimal(vo.getSuppProductName().trim()),如果输入的内容中间也有空格,可以改为suppProductName = new BigDecimal(vo.getSuppProductName().Replace(" ","")),如果有用望采纳

img

vo.getSuppProductName()判断不为空之后用trim()去掉前后空格
如果是要去掉所有空格,包括首尾、中间:
str.replace(" ", "")

入库前代码里把空格去掉去掉 String.Replace(" ","")

如果是去掉字符串前后的空格,那么用.trim()就可以,如果是要去掉字符串中所有空格,那么就用replace(" ","")

正解,string的trim方法去掉前后空格。

  1. String.trim()
    trim()是去掉首尾空格
  2. str.replace(" ", ""); 去掉所有空格,包括首尾、中间
String str = " hell o ";   
String str2 = str.replaceAll(" ", "");   
System.out.println(str2);   

3.或者replaceAll(" +",""); 去掉所有空格
4.str = .replaceAll("\s*", "");
可以替换大部分空白字符, 不限于空格
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个

5.或者下面的代码也可以去掉所有空格,包括首尾、中间

public String remove(String resource,char ch)   
    {   
        StringBuffer buffer=new StringBuffer();   
        int position=0;   
        char currentChar;   
  
        while(position<resource.length())   
        {   
            currentChar=resource.charAt(position++);   
            if(currentChar!=ch) buffer.append(currentChar); } return buffer.toString();   
    }