导入--多页签

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);

 

### 回答1: Node-RED是一个基于浏览器的可视化编程工具,用于连接、编排和交互物联网设备和服务。虽然Node-RED的主要界面是一个单页应用程序,但它支持创建多个页面。 在Node-RED中,每个页面被称为一个“流”或“工作流”。每个工作流包含了一系列连接的节点,这些节点定义了数据的流动和相应的处理逻辑。通过在主界面的左侧导航栏中点击“+”按钮,可以创建新的工作流。 每个工作流都有自己独立的节点和连接,它们可以在同一时间运行,以实现不同的功能。这是Node-RED支持多页面的关键之处。例如,一个工作流可以用于监听传感器数据并触发警报,而另一个工作流可以用于处理和存储传感器数据。这样,我们可以将不同的任务模块化,并且可以更好地管理和维护应用程序。 要在不同的页面之间切换,只需点击主界面左上角的下拉菜单,并选择要切换到的工作流。这将在同一浏览器窗口中打开新的页面,展示对应的节点和连接。因此,我们可以方便地在不同的工作流之间切换,并快速查看和编辑它们的内容。 总之,Node-RED支持多页面,允许我们创建多个独立的工作流来处理不同的任务。这个功能使得我们可以更灵活地构建复杂的物联网应用程序,并且能够更好地管理和维护这些应用程序。 ### 回答2: Node-RED是一个基于流程编程的可视化工具,在一个页面上可以创建多个流程,每个流程代表一个独立的功能模块。节点是构成流程的基本单元,可以通过拖拽节点进行连接和配置,实现数据的输入、处理和输出。 Node-RED支持多个页面,这意味着可以在同一个Node-RED编辑器中创建和管理多个不同的流程。这对于将复杂的应用程序拆分成多个模块或在不同的项目之间共享和重用流程非常有用。 要创建新的页面,只需点击右上角的“+”按钮,然后在弹出的对话框中输入页面的名称。在页面列表中,可以通过点击页面的名称或使用快捷键进行切换。 在多页面环境下,每个页面都有自己独立的流程,节点和连接。这意味着在不同的页面上可以同时运行多个不同的流程,彼此之间不会干扰或影响。可以在每个页面中独立编辑、配置和运行流程,方便进行功能的隔离和模块的重用。 除了创建不同的页面,Node-RED还提供了导入和导出流程的功能,可以将一个页面中的流程保存为一个文件,然后在其他页面或其他Node-RED实例中进行导入和使用。这样可以方便地共享和扩展流程,提高开发效率。 综上所述,Node-RED的多页面功能使得用户可以在同一个编辑器中创建和管理多个独立的流程,实现功能的隔离和模块的重用,提高开发效率和项目的可维护性。 ### 回答3: Node-RED是一个流程编程工具,它提供了一个可视化界面用于呈现和编辑流程。在Node-RED中,我们可以创建多个页面来组织和管理不同的流程。 要创建多个页面,我们可以通过在Node-RED的设置文件中指定额外的页面。默认情况下,Node-RED只有一个名为"flows"的主要页面,它是我们最初创建的页面。但是我们可以通过在设置文件中添加以下内容来创建额外的页面: ``` [{"id":"123","type":"tab","label":"页面名称"}] ``` 在这个例子中,我们添加了一个新的页面,其ID为"123",标为"页面名称"。我们可以根据我们的需要添加任意数量的页面,并可以为每个页面指定不同的ID和标。 一旦我们添加了额外的页面,我们可以在Node-RED的可视化界面中看到它们的存在。在界面的顶部,我们可以看到一个导航栏,其中包含了我们所有的页面。我们可以通过点击导航栏上的不同标来切换到不同的页面。 在每个页面上,我们可以创建和编辑不同的流程。我们可以在一个页面上创建多个流程,并可以通过导航栏上的标来切换不同的流程。这样,我们可以更好地组织和管理我们的流程,使得它们更易于理解和维护。 总而言之,Node-RED支持多页面功能,可以让我们创建和管理多个页面,并在每个页面上创建和编辑不同的流程。这样,我们可以更好地组织和管理我们的项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值