项目里我自己写的导入

@ApiOperation(value = "大单及专业赛道支撑情况导入")
@RequestMapping(value = "/ExportOrderTrack",method = RequestMethod.POST)
public Result exportOrderTrack(@RequestParam("file") MultipartFile file) throws IOException {

    String originalFilename =  file.getOriginalFilename();
    String[] split = originalFilename.split("\\.");
    String suffixName = split[1];

    // 1、获取传入的文件流
    InputStream inputStream = file.getInputStream();

    Workbook wb = null;

    if ("xlsx".equals(suffixName)){
        wb = new XSSFWorkbook(inputStream);
    }

    if ("xls".equals(suffixName)){
        wb = new HSSFWorkbook(inputStream);
    }

        // 2、获取工作簿中的表,对表中的设置,通过下标去拿第一张表
        Sheet sheet = wb.getSheetAt(0);

        // 3、获取表格总的行数
        int rowNumber = sheet.getPhysicalNumberOfRows();

        List<KanBanOrderTrack> lists = new ArrayList<>();
        // 从第二行开始读取每一行数据,我们设置的模板表头是在第一、第二行,下标从0开始。
        for (int rowNum = 2; rowNum < rowNumber;  rowNum++) {


            // 每读取一行,实例化一个对象
            KanBanOrderTrack kanBanOrderTrack = new KanBanOrderTrack();
            // 获取工作表中第三行的数据
            Row rowData = sheet.getRow(rowNum);
            // 这个地方,要注意,取到的值要进行判空处理,同时也要对值的类型进行转换
            if (rowData != null) {
                kanBanOrderTrack.setId(CommonUtil.generateUUID());
                rowData.getCell(0).setCellType(CellType.STRING);
                rowData.getCell(1).setCellType(CellType.STRING);
                rowData.getCell(2).setCellType(CellType.STRING);
                rowData.getCell(3).setCellType(CellType.STRING);
                rowData.getCell(4).setCellType(CellType.STRING);
                rowData.getCell(5).setCellType(CellType.STRING);
                rowData.getCell(6).setCellType(CellType.STRING);
                kanBanOrderTrack.setProvinceName(rowData.getCell(0).getStringCellValue());
                kanBanOrderTrack.setOrderIntegrationCompanySupport(Double.parseDouble(rowData.getCell(1).getStringCellValue()));
                kanBanOrderTrack.setOrderProvinceCompanySupport(Double.parseDouble(rowData.getCell(2).getStringCellValue()));
                kanBanOrderTrack.setOrderSupportRate(Double.parseDouble(rowData.getCell(3).getStringCellValue()));
                kanBanOrderTrack.setTrackIntegrationCompanySupport(Double.parseDouble(rowData.getCell(4).getStringCellValue()));
                kanBanOrderTrack.setTrackProvinceCompanySupport(Double.parseDouble(rowData.getCell(5).getStringCellValue()));
                kanBanOrderTrack.setTrackSupportRate(Double.parseDouble(rowData.getCell(6).getStringCellValue()));

                lists.add(kanBanOrderTrack);
            }
        }
        // 关闭流
        inputStream.close();

        // 完成批量添加数据
        String url = urlUtil.genBaseUrl(CommonConfig.ADD_ORDER_TRACK_URL);
        oAuth2RestTemplate.postForObject(url, lists, String.class);

        return Result.ok("导入成功");

}
当涉及到批量导入时,通常是指将大量数据从一个系统或文件中导入到另一个系统或文件中。这个过程可以通过编脚本或使用特定的工具来完成。以下是一个简单的批量导入项目介绍: 项目名称:批量导入工具 项目描述:该项目旨在开发一个通用的批量导入工具,以便用户可以轻松地将大量数据从一个系统或文件中导入到另一个系统或文件中。该工具将支持多种数据格式,包括 CSV、Excel、JSON 等,并提供灵活的映射选项,以便用户可以将源数据映射到目标数据。 项目目标: 1. 提供一个通用的批量导入工具,以便用户可以轻松地将大量数据从一个系统或文件中导入到另一个系统或文件中。 2. 支持多种数据格式,包括 CSV、Excel、JSON 等。 3. 提供灵活的映射选项,以便用户可以将源数据映射到目标数据。 4. 提供可靠的错误处理机制,以便用户可以轻松地处理导入过程中的错误。 5. 提供高效的导入速度,以便用户可以快速地将数据导入到目标系统或文件中。 技术要求: 1. 开发语言Java 2. 数据库:MySQL 3. 框架:Spring Boot 4. 前端框架:Vue.js 5. 数据格式转换:Apache POI、Jackson 6. 单元测试:JUnit 7. 集成测试:Selenium 8. 构建工具:Maven 9. 版本控制:Git 10. 持续集成:Jenkins 以上是一个简单的批量导入项目介绍,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值