导入--多页签

本文详细介绍了一种从前端上传Excel文件至后端,并通过Java技术解析为Map对象的方法,进一步将数据批量保存至数据库的过程。涉及前端文件上传、后端文件接收与解析、数据校验及存储等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前端上传excel文件

2.后台接收并转行为map对象

Map<Integer, Class> map = new HashMap<Integer, Class>();
map.put(0, HandbookExportExg.class);
map.put(1, HandbookExportImg.class);
map.put(2, HandbookExportBom.class);
Map<Integer, List> returnMap = FileUtils.importExcelByMap(multipartFile, 0, 1, map);

2.解析文件并封装到Map对象中

public static Map<Integer, List> importExcelByMap(MultipartFile file, Integer titleRows, Integer headerRows, Map<Integer, Class> map) {
    if (file == null || map == null) {
        return null;
    }

    Map<Integer, List> returnMap = new HashMap<Integer, List>();
    Set<Integer> keySet = map.keySet();
    for (Integer sheetNum : keySet) {
        Class pojoClass = map.get(sheetNum);
        ImportParams params = new ImportParams();
        params.setTitleRows(titleRows);
        params.setHeadRows(headerRows);
        params.setStartSheetIndex(sheetNum);
        params.setSheetNum(1);
        List<T> list = null;
        try {
            list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
            returnMap.put(sheetNum, list);
        } catch (NoSuchElementException e) {
            // throw new NormalException("excel文件不能为空");
            e.printStackTrace();
        } catch (Exception e) {
            //throw new NormalException(e.getMessage());
            e.printStackTrace();
        }
    }
    return returnMap;
}

3.后台进行验证并保存到数据库中

//获得需要导入的数据
List<HandbookExportExg> parseExgList = map.get(0);
List<HandbookExportImg> parseImgList = map.get(1);
List<HandbookExportBom> parseBomList = map.get(2);
//批量插入
bomInputDAOService.batchSaveBomInput(waitSaveBomList);
imgInputDAOService.saveImgInput(waitSaveImgList);
exgInputDAOService.batchSaveExgInput(waitSaveExgList);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值