国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > 导入excel文件处理流程节点的解决方案

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

来源:程序员人生   发布时间:2014-01-28 13:24:45 阅读次数:2152次

  在没用管理系统的时候,很多企业都会将一些生产或流水线操作的数据保存在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文件的功能。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生