本发明属于互联网技术领域,特别涉及一种基于wpf技术和excel快速生成组织架构图的方法。
背景技术:
人事管理部门在做组织结构图的时候,一般情况下是借助一些可以支持绘图的软件,比如office系列软件、visio、xmind等,来手动逐一按照组织架构添加。此种办法一般情况下,完成制作是没有问题的。但是,如果遇到需要制定的组织结构图很多或者单个组织内部结构变化比较大的时候,就需要逐一修改图片,效率非常低,也容易出错。
技术实现要素:
本发明的目的是提供一种基于wpf技术和excel快速生成组织架构图的方法,解决了快速生成组织结构图技术问题。
为实现上述目的,本发明采用以下技术方案:
一种基于wpf技术和excel快速生成组织架构图的方法,包括如下步骤:
步骤1:建立一个数据库服务器和一个wpf服务器,数据库服务器通过网线与wpf服务器通信;
步骤2:在数据库服务器中建立组织结构明细,所述组织结构明细为excel清单模式;
步骤3:wpf服务器调取数据库服务器中的组织结构明细,并利用wpf对excel清单模式的组织结构明细进行访问读取,将组织结构明细的组织关系数据按照层级树形显示在treeeview控件中;
步骤4:wpf服务器根据层级树形结构,利用wpf中的canvas技术和thumb技术生成模拟样图;
步骤5:在wpf服务器中给treeeview控件增加编辑功能,使得组织关系数据可以反向回写入一个excel文件中;
步骤6:在wpf服务器中给treeeview控件增加导出功能,将wpf最终生成的canvas转化为jpg图形,供后续交流使用或者打印。
在执行步骤2时,预先设置一个config文件,在config文件中定义好excel列头字段关系表,然后excel明细严格参照此规范录入基础数据。
在所述config文件中定义好组织各层级默认图样链接,以便用户可以自己选择默认层级图样。
本发明所述的一种基于wpf技术和excel快速生成组织架构图的方法,本发明生成架构图非常快速,只要在excel维护好组织结构清单,很快就可以生成组织架构图样。
附图说明
图1是本发明的流程图;
图2是本发明的生成的组织架构图。
具体实施方式
如图1一种基于wpf技术和excel快速生成组织架构图的方法,包括如下步骤:
步骤1:建立一个数据库服务器和一个wpf服务器,数据库服务器通过网线与wpf服务器通信;
步骤2:在数据库服务器中建立组织结构明细,所述组织结构明细为excel清单模式;
建立一个config文件,在config文件中定义好excel列头字段关系表,如表1所示,然后excel明细严格参照此规范录入基础数据;
表1
步骤3:wpf服务器调取数据库服务器中的组织结构明细,并利用wpf对excel清单模式的组织结构明细进行访问读取,将组织结构明细的组织关系数据按照层级树形显示在treeeview控件中;其具体步骤如下:
步骤a1:将excel里的组织关系按照层级存入一个统一的组织结构对象中,读取的结构逻辑依照config文件中的定义的执行;
步骤a2:利用wpf的双向绑定,以层级树形方式显示在treeeview控件中。
步骤4:wpf服务器根据层级树形结构,利用wpf中的canvas技术和thumb技术生成模拟样图;其具体步骤如下:
步骤b1:在config文件中定义好组织各层级默认图样链接,以便用户可以自己选择默认层级图样;
步骤b2:定义一个tabcontrol,并在treeeview双击事件中,根据选中节点层级增加一个canvas作为tabcontrol的子页签,用来显示当前选中层级的组织架构图;
步骤b3:用递归算法将treeeview的每个节点元素作为一个path路径放入到canvas中,定义连线类,用连线将父节点和子节点绑定,以方便后续拖动调整。生成图形的节点图样默认为excel照片链接所指向的图片,否则抓取config文件配置的图样;
步骤b4:定义拖拽类dragthumb,继承自thumb。在dragthumb的dragdelta事件中,捕捉最新的鼠标所在位置,然后调用canvas的settop和setlft方法,移动拖拽的元素到新的位置即可完成拖拽功能;
步骤b5:为保证自动生成的组织结构图可以再调整,再加入剪切、复制、粘贴等常用编辑功能、并用command命令绑定对应的执行动作和可操作时机;
步骤b6:加入搜索框,以便快捷定位到某个层级组织,某个具体人员。
步骤5:在wpf服务器中给treeeview控件增加编辑功能,使得组织关系数据可以反向回写入一个excel文件中;其具体步骤如下:
步骤c1:利用wpf的双向绑定技术,在treeeview的相关事件中,完成对组织结构对象的增加、修改、删除常见的编辑操作;
步骤c2:将最新的组织结构对象存储到excel中。
步骤6:在wpf服务器中给treeeview控件增加导出功能,将wpf最终生成的canvas转化为jpg图形,canvas是.netwpf开发平台中的画布技术,供后续交流使用或者打印,其具体步骤如下:
步骤d1:建一个虚拟画布对象drawingvisual,以此为基础使用drawingcontext对象将canvas及其child中的对象在drawingvisual虚画布上重新进行构图;创建一个rendertargetbitmap实例,将画布的宽、高、像素值作为rendertargetbitmap的构造函数参数传入,像素格式采用pixelformats.pbgra32;然后调用该对象的render方法,传入drawingvisual;
步骤d2:定义一个bitmapencoder对象,创建一个jpegbitmapencoder实例,用来做最后的图形输出。
在执行步骤2时,预先设置一个config文件,在config文件中定义好excel列头字段关系表,然后excel明细严格参照此规范录入基础数据。
在所述config文件中定义好组织各层级默认图样链接,以便用户可以自己选择默认层级图样。
本发明所述的一种基于wpf技术和excel快速生成组织架构图的方法,本发明生成架构图非常快速,只要在excel维护好组织结构清单,很快就可以生成组织架构图样。