Arrays.equals用法,eg excl 表头与相应的目标值比较

 可用的地方例如,相同字段的校验。excles 中的表头内容与 想要的内容的比较,如果返回值为true的话则相同,可以进行后续操作

        String[] sourceArray = {"目标1","目标2"};
        String[] targetArray = {"目标1","目标2"};
        boolean equals = Arrays.equals(sourceArray, targetArray);
        System.out.println(equals);
 @PostMapping("batchImport")
    public void batchSellLimitImport(SellerLimit sellerLimit,
                                     HttpServletRequest request, final HttpServletResponse response){
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("file");
String[] titleName = {"*列表1","列表2"};
InputStream inputStream = multipartFile.getInputStream();
            if(null != inputStream){
                Workbook sheets = WorkbookFactory.create(inputStream);
                Sheet sheetAt = sheets.getSheetAt(0);
                //获取Excel最后一行索引,从零开始,所以获取到的是表中最后一行行数减一
                int lastRowNum = sheetAt.getLastRowNum();
                //获取Excel列数
                short lastCellNum = sheetAt.getRow(1).getLastCellNum();
                //校验标题是否与预定相匹配
                if( ! this.checkTitleRow(titleName,sheetAt.getRow(1),lastCellNum)){
                    throw new BusinessRuntimeException("导入文件与模板文件不匹配");
                }
                //去掉第一行的标题行
                List<SellerLimit> sellerLimits = new ArrayList<>();
                for (int i = 2; i < lastRowNum - 1; i++) {
                    Row row = sheetAt.getRow(i);
                    this.getRowValue(lastCellNum, sellerLimits, row,i);
                }
}
}

/**
     * 校验第一行是否与预定相匹配
     * @param titleName 预定的标题名
     * @param row 需要的校验的是哪一行
     * @param lastCellNum 列数
     */
    private boolean checkTitleRow(String[] titleName, Row row, short lastCellNum) {
        String[] actualTitle = new String[lastCellNum];
        for (int j = 0; j < lastCellNum; j++) {
            Cell cell = row.getCell(j);
            actualTitle[j] = cell.getStringCellValue();
        }
        boolean equals = Arrays.equals(titleName, actualTitle);
        return equals;
    }

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Diligently_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值