excel数据导出

 // 创建Excel文档
        XSSFWorkbook workbook = new XSSFWorkbook();
        XSSFSheet sheet = workbook.createSheet("Sheet1");
        CommonResponse<List<UserDto>> userList = userCenterClient.exportUserList(userRequest);
        List<UserDto> records = userList.getData();
        for (UserDto item : records) {
            UserOrdersReqDto userOrdersReqDto = new UserOrdersReqDto();
            userOrdersReqDto.setUid(item.getUid());
            //根据uid查询所有订单
            CommonResponse<List<UserOrdersDto>> listCommonResponse = orderClient.queryUserOrdersList(userOrdersReqDto);
            List<UserOrdersDto> ordersData = listCommonResponse.getData();
            if (ordersData.size() > 0) {
                item.setStatus(ordersData.get(0).getStatus().getDescription());
            }
        }
        // 创建表头
        XSSFRow header = sheet.createRow(0);
        header.createCell(0).setCellValue("注册时间");
        header.createCell(1).setCellValue("用户姓名");
        header.createCell(2).setCellValue("手机号");
        header.createCell(3).setCellValue("身份证号");
        header.createCell(4).setCellValue("是否人脸认证");
        header.createCell(5).setCellValue("用户状态");
        // 填充数据
        int rowIndex = 1;
        for (UserDto item : records) {
            XSSFRow row = sheet.createRow(rowIndex++);
            row.createCell(0).setCellValue(DateUtil.date2String(item.getCreateTime()));
            row.createCell(1).setCellValue(item.getUserCertification() != null ? item.getUserCertification().getUserName() : "-");
            row.createCell(2).setCellValue(item.getUserCertification() != null ? item.getUserCertification().getTelephone() : item.getTelephone());
            row.createCell(3).setCellValue(item.getUserCertification() != null ? item.getUserCertification().getIdCard() : "-");
            row.createCell(4).setCellValue(item.getIsAuth() ? "已认证" : "未支付");
            row.createCell(5).setCellValue(item.getStatus() != null ? item.getStatus() : "-");

        }
        //导出到oss
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        workbook.write(bos);
        byte[] barray = bos.toByteArray();
        InputStream is = new ByteArrayInputStream(barray);
        MultipartFile multipartFile = new MockMultipartFile("会员列表数据导出" + DateUtil.getDate(new Date(), DateUtil.DATETIME_FORMAT_7) + ".xlsx", is);
        String url = OSSFileUtils.uploadByIns(multipartFile.getInputStream(), multipartFile.getName());
        //导出到硬盘
          OutputStream outputStream = new FileOutputStream("D://test.xlsx"); // 文件流若接口导出则可以从response获取
        // OutputStream outputStream = response.getOutputStream(); // 文件流若接口导出则可以从response获取
        workbook.write(outputStream);
        outputStream.flush();
        outputStream.close();

        return url;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值