新填报多次导入Excel

  • 文档创建者:jiangsr
  • 编辑次数:13次
  • 最近更新:Leo.Tsai 于 2020-05-18
  • 1. 概述

    1.1 问题描述

    文档 多次导入Excel 中运用了JS 实现自定义导入 Excel 的功能。但是对于不定行式的报表,因为行可以扩展,所以在连续多次导入 Excel 时,碰到较多无法满足用户需求的场景。

    如果 Excel 数据行数大于等于页面已有数据,则执行全量导入,会覆盖掉模板原始数据;而如果 Excel 数据行数少于模板原始数据,会执行插入操作。

    所以在这两种不同情况下,希望能选择是插入导入或覆盖导入。

    1.2 实现思路

    针对不定行式填报表,提供统一的多次导入 Excel 计算逻辑,如下所示:

    1)覆盖导入( 不清空已有数据 )

    每次导入 Excel 时,无论 Excel 中的行数是多于还是少于填报页面,均执行覆盖导入。如果 Excel 数据少于填报页面已有数据,则填报页面多出来的数据在 Excel 导入后保留。

    2)清空导入( 清空已有数据 )

    每次导入 Excel 时,无论 Excel 中的行数是多于还是少于填报页面,均执行覆盖导入。

    且每次导入时均清空填报页面已有数据,无论页面数据是多于还是少于 Excel,最后只保留 Excel 中的内容。

    3)增量导入:

    每次导入 Excel 时,无论 Excel 中的行数是多于还是少于填报页面,均执行增量导入,在结尾行扩充导入的 Excel 内容。

    2. 示例一:内置按钮实现

    2.1 Excel数据准备

    1)点击下载 Excel 文件:Excel模板一.xlsx

    1.png

    2)点击下载 Excel 文件:Excel模板二.xlsx

    2.png

    2.2 模板准备

    如下图设计表格,A2~J2 单元格添加文本控件。

    222

    注:若文本控件所在单元格中插入了数据列,需要将数据设置改为列表,如下图所示:

    Snag_518969.png

    2.3 添加多次导入按钮

    设计器菜单栏点击模板>模板 Web 属性,如下图步骤将多次导入【Excel】按钮添加到工具栏中,如下图所示:

    Snag_55bb15.png

    2.4 效果预览

    保存报表,点击新填报预览,按钮下拉显示 4 种 Excel 导入方式。

    Snag_6a6d2d.png

    4 种导入方式的效果如下图所示:

    2A476232-5EB5-4B27-9125-934707DF370C.GIF

    3. 示例二:JS事件实现

    使用 JS 事件也可以实现覆盖导入、清空导入和增量导入,方法如下:

    3.1 覆盖导入

    1)沿用示例一的模板,选中 A6 单元格,如下图步骤给单元格添加一个按钮控件,按钮名字为覆盖导入。

    Snag_784f60.png

    2)如下图步骤给该按钮添加一个点击事件,JS 代码如下:

    contentPane.importExcel_Cover();

    Snag_78d307.png

    3.2 清空导入

    1)在上面的基础上,选中 C6 单元格,如下图步骤给单元格添加一个按钮控件,按钮名字为清空导入。

    Snag_7fdfc7.png

    2)如下图步骤给该按钮添加一个点击事件,JS 代码如下:

    contentPane.importExcel_Clean();

    Snag_825bf2.png

    3.3 增量导入

    1)在上面的基础上,选中 E6 单元格,如下图步骤给单元格添加一个按钮控件,按钮名字为增量导入。

    Snag_84592a.png

    2)如下图步骤给该按钮添加一个点击事件,JS 代码如下:

    contentPane.importExcel_Append();

    Snag_86dfa6.png

    3.4 效果预览

    保存报表,点击新填报预览,三种按钮的导入效果如下图所示:

    F6470107-466C-4848-BA45-1CC363ACCF6B.GIF

    4. 模板下载

    已完成模板参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\新填报多次导入Excel.cpt

    点击下载模板:新填报多次导入Excel.cpt

    点击下载 Excel 数据文件:Excel模板一.xlsx    Excel模板二.xlsx

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!