原版Excel导入数据功能改造

原版Excel导入功能梳理

  • 原版Excel导入功能主要是为了用于SaaS系统的各种模块的Excel导入通用化功能的实现,界面是统一的,如下图所示:
    在这里插入图片描述
    在导入对话框中,有以下功能:
  • 1.模板上传功能:可以将该模块的导入excel模板文件上传到后台服务器,以便下次可以复用excel导入模块,直接通过界面的下载功能将模板下载下来,然后填入数据,然后点击“上传”按钮完成模板的上传功能。
    后台API接口:
    /uapi/common/sysQxReports/uploadQxReports
  • 2.模板下载功能:通过“下载”按钮左边的模板选择下拉列表选择要下载的模板,然后点击“下载”按钮,即可下载对应的模板文件。
    后台API接口:
    /uapi/common/download
    模板选择下拉列表的接口
    后台API接口:
    /uapi/common/sysQxReports/queryQxReports
  • 3.导入数据功能,将数据填充到下载好的模板文件,然后通过“选择”按钮选择好本地的导入数据文件,然后点击“开始导入”按钮即可实现导入excel数据的功能。导入数据时,前端会自动将导入数据文件转化为base64编码的字符串,然后传到后台进行解析,解析成输入流,然后开始excel数据的解析工作。
    后台API接口:
    /uapi/common/sysInifile/sysQxReports/importExcel
  • 4.界面右侧区域是Excel中文列名和英文字段对应表显示区域,这里实现导入时自动识别需要导入的的数据与数据库中表字段的对应关系,从而实现excel真实数据存储到表中的功能实现。
    获取Excel中文列名和英文字段对应的接口:
    后台API接口:
    /uapi/common/sysInifile/sysQxReports/queryPlanColumn

改进方案:

  1. 原版的SaaS导入excel功能,中上传的模板文件和下载模板文件功能是采用将模板文件上传到本地服务器的某个特定文件夹,而改进方案是采用专门的OSS云存储对象系统进行管理,把上传文件和下载文件功能统一整合到一个微服务中,该微服务将与阿里云等第三方专业云存储对象服务对接,从而实现了功能服务的复用,以及上传和下载文件等与文件相关的功能独立成一个单独的服务,进行单独部署,实现SaaS系统的模块化运作。改进方案:将原有功能的上传的模板文件和下载模板文件独立出来,单独提供两个微服务接口供前端界面调用,上传文件到资源微服务后将返回一个URL地址,通过该地址可以正确定位到上传的模板文件,然后将URL传递到微服务下载接口即可下载该模板文件。
  2. SaaS导入Excel功能,将会与“方案”绑定在一起,每种“方案”绑定一种导入模式即该模块固定导入字段(事先在表sys_basedts<导入主表>和sys_basedtsfieldlist<导入字段表>定义好的,且可以勾选选定哪些字段)和Excel绑定,当方案设定好以后将方案以及excel列名和字段对应关系存储到表sys_inifile<导入配置主表>和sys_inifiledetail<导入配置明细表>,sys_inifile表中将插入<dllname<模块名称>,formname<表单名称>,filecode<表单名称>>这三个唯一索引确定一个页面,filecode记录的表单名称需要加上前缀bs以便加以区别,其中fileguid也作为sys_inifiledetail的外键相关联,sys_inifiledetail表将以键值对形式存放一个页面的所有配置项(包括DB字段和Excel列对应关系,其中identname存放键即DB字段名,indentvalue存放值即excel列名),其中sectionname记录方案名,方案名以冗余方式存放,即获取方案列表的时候需要通过group by的方式去掉冗余的方式获取得到方案名。
  3. 默认进入导入功能页面,右侧方案名作为可输入文字的文本下拉框,DB字段与字段对照列表中的DB字段初始化为按固定顺序排列的字段表sys_basedtsfieldlist<导入字段表>的字段列表,Excel列名部分需要用户上传excel时解析出excel列名列表,然后供用户在字段列表中选择DB字段与Excel列名的对应关系即下拉列表方式。后台服务解析excel还会返回左侧的sheet列表,默认多个sheet的字段与excel列名对照表是相同的。上传excel模板分两步,第一步调用上传到云服务oos的接口,然后第二步调用解析excel模板接口,通过解析返回excel的列名列表和sheet名称列表给前端。当确定好sheet字段excel列名对照表和方案名称后点击保存即可完成存入方案对照表操作,以便用户做导入操作时直接选择对应的方案,导入用户数据文件即可。
  4. sheet列表是每次上传真实数据的之前就需要解析出来,供用户选择导入哪些有数据的sheet,导入真实数据时导入界面右侧的DB字段和Excel列名对照表以最新的数据为准,导入之前会解析出来给到前端,用户可以现场调整然后传到后端服务接口,字段列名对照表中的Excel列名将以Excel字母位置比如A,B…为前缀+列名方式显示,后端以字母作为位置定位。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值