• 导入excel文件处理流程节点的解决方案


    在没用管理系统的时候,很多企业都会将一些生产或流水线操作的数据保存在excel文件中,按名称或按sheet页形成多份excel的表格数据。

    当运用了工作流管理系统后,这些生产或流水线的操作都会记录成流程的节点,过程需要记录的数据,也会应用到管理系统中。通常是建立数据库,建立数据库表来存储这些记录。

    原来记录在纸质或excel文件中的数据,就需要通过工作流管理系统,执行流程的节点,打开节点上的表单界面,录入这些数据,并保存到数据库表中。

    这样企业用户在操作习惯上会有些变化,原来存excel文件的,现在需要通过表单界面来录入。

    用户为了更方便自己,会提出,我们还是按原来的方式,记录在excel文件中,或者说,我们记录了excel文件的,能不能选择excel文件,上传一下,然后再从流程的表单界面中展现出这些数据,并可编辑和维护,然后继续流程的流转。


    为了适应这种功能,我们就必须在流程节点的表单中加上上传excel文件的功能。

    在我们eform自定义表单中,有上传附件的控件,但是和这种需求稍有区别:eform上传附件的控件,文件会上传到web服务器的目录中,不会打开文件将数据导入到数据库表。 其实打开excel文件,将数据导入到数据库表,这个要用自定义代码来实现更方便。

    下面是实现这个需求的过程:

    在流程节点表单中加上上传附件的功能按钮,点击后模态打开上传附件的选择页面。


    选择需要上传的附件,点击上传,上传附件的页面是用的基本的 type=file的标准控件。action指向后台的类,当选择好文件,点击上传后,后台类截获到上传的文件流.
    是j2ee的工程,就利用poi包,分析excel文件的行,列,单元格,取出数据,将数据拼成insert into 的sql语句,将数据写入数据库表。
    是dotnet的工程,就利用分析excel文件的dll,分析文件的行、列、单元格,将数据拼成insert into 语句,写入数据库表。

    上传完成后,关闭上传页面,返回到流程节点表单录入界面,并且刷新页面,页面表格中显示的,就是刚才excel文件中上传的内容。

    用户可以编辑修改表格中的内容,点击 执行后,再次提交修改后的记录,并执行流程的流转。

    因为后台分析excel文件,是取的输入流直接分析的,因此web服务器中没有存直接的文件。


    将上传附件按钮功能 封装成一个共用的js函数,打开特定的上传附件的页面。在上传附件的页面中接收流程实例id, 标识存入那张业务表的参数。

    每个excel文件的格式必须固定,每列需要和数据库表的字段绑定。


    这样在流程节点中挂接的业务表单中,需要上传附件功能的,就定义上传附件的按钮,调用封装好的js函数,并按照标识写入数据库表。这样做到在流程节点的表单中快速的集成导入excel文件的功能。

  • 相关阅读:
    002. 在HTML页面嵌入循环代码
    001. 为input type=text 时设置默认值
    PHP包名解释
    003. vs2010发布、打包安装程序(转)
    SQL server 2008 Express Edition实现自动备份和自动删除备份
    解决phpMyAdmin中缺少mysqli扩展的错误
    IIS6下PHP环境的资源未找到(404)问题
    解决远程桌面连接过去后是蓝色屏幕问题
    解决tomcat一闪而过问题
    解决访问远程共享时发生 请检查名称的拼写. 否则, 网络可能有问题 故障
  • 原文地址:https://www.cnblogs.com/webreport/p/2325307.html
Copyright © 2020-2023  润新知