作家
登录

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

作者: 来源: 2012-06-12 17:00:20 阅读 我要评论

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

原文链接:http://www.cnblogs.com/webreport/archive/2012/01/18/2325307.html

【编辑推荐】

  1. Java回调函数的理解
  2. Java路线图:甲骨文的两年计划
  3. Java 8将支持无符号整型
  4. Java Swing编程:JTable表格
  5. 深入研究Java虚拟机的类加载机制


  推荐阅读

  Java集合框架总结:Set接口的使用

1、Set接口的使用Set集合里多个对象之间没有明显的顺序。具体详细方法请参考API文档(可见身边随时带上API文档有多重要),基本与Collection方法相同。只是行为不同(Set不允许包含重复元素)。Set集合不允许重复元素>>>详细阅读


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

地址:http://www.17bianji.com/kaifa2/Java/1061.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)