原版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…为前缀+列名方式显示,后端以字母作为位置定位。

原版Excel导入数据功能改造相关推荐

  1. SpringBoot中使用Easyexcel实现Excel导入导出功能(三)

    导出的数据包含有图片 导出excel表格的数据包含有图片,这种场景比较少.通Easyexcel实现这样的需求,我认为最简便的方法就是使用前面提到的自定义转换器(com.alibaba.excel.co ...

  2. Excel导入数据轻松生成智能图表,助力数据分析

    运营助手,Excel导入数据轻松生成智能图表,助力数据分析 2023-04-18 10:21·淡定海风L 智能问答BI是一种先进的数据分析,它可以帮助用户快速地从海量数据中获取有用的信息,并将其可视化 ...

  3. excel导入数据校验_从Excel数据验证列表中选择多个项目

    excel导入数据校验 You've probably used an Excel data validation drop down list, where you can click the ar ...

  4. excel导入数据校验_Excel数据验证更新

    excel导入数据校验 I've finally updated my Data Validation intro video, so it shows the steps for creating ...

  5. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  6. excel导入数据失败_Excel数据验证失败

    excel导入数据失败 Data validation is one of the best features in Excel. You can use it to create drop down ...

  7. excel导入数据校验_Excel数据验证错误消息

    excel导入数据校验 Do you like to use error checking in Excel, so that problem cells are flagged, or do you ...

  8. SpringBoot中使用Easyexcel实现Excel导入导出功能(一)

    目录 前言 1.常规导入 2.读取到指定的列 3.读取全部的sheet页 4.日期.数字及其他自定义格式的转换 5.表头有多行的表格读取 6.表头数据的读取 7.单元格内的备注内容读取 前言 exce ...

  9. 使用Echarts制作散点图(Excel导入数据方式)

    2019独角兽企业重金招聘Python工程师标准>>> Echarts相当于一款JS插件,可以制作出绚丽多彩的图表,其支持制作的图表类型和可以使用的样式都非常丰富.本文以Echart ...

最新文章

  1. IntPtr to bytes
  2. sql08 访问接口没有oraoledb_状态接口的实现方式讨论
  3. 【PAT甲级 LinkedHashMap】1041 Be Unique (20 分) Java、C++版
  4. linux系统创建操作系统用户,linux系统中用户组创建管理linux操作系统 -电脑资料...
  5. Cortex-M3存储器系统
  6. “use strict” 严格模式使用(前端基础系列)
  7. 【idea配置】电脑死机重启后idea报错cannot load project:com.intellij.ide
  8. 向量的内积,与角的关系,向量与它本身点积_4
  9. C语言函数指针命令行参数
  10. tp5 前台页面获取url链接里的参数,如下
  11. SAP License:SAP 初学者指南
  12. python中返回上一步操作的代码_【代码学习】PYTHON字符串的常见操作
  13. 微信小程序swiper滑块视图容器控件使用整理
  14. angular访问后台服务及监控会话超时的封装实现
  15. PCalc for Mac(科学计算器)
  16. 禅道报表中关闭bug统计图_如何生成动态统计图,这款BI教你定义炫酷
  17. 计算机电源管理器怎么打开,联想电源管理软件打不开怎么办
  18. 离散时间傅里叶变换Matlab实现
  19. 高精度三维空间测量、定位与追踪(上)
  20. 超级干货:手把手教你如何实现数据可视化

热门文章

  1. 人生总要有所珍视和眷恋
  2. 仿一号店APP商品分类效果开发IOS版本
  3. 全国大学生数学建模竞赛(论文排版)
  4. 学习第五篇:【SpringBoot-Labs】Spring Boot 调试环境、热部署入门、Lombok、MapStruct入门
  5. 百度联盟优化技巧分享
  6. ISO三体系认证需要什么材料,办理流程
  7. Matlab中图片保存的5种方法
  8. 基于pytorch使用实现CNN 如何使用pytorch构建CNN卷积神经网络
  9. Linux;shell编程while语句
  10. Windows10中SwitchyOmega安装及部分异常处理