基于VSTO的Word数据自动化提取及报告生成系统的设计与开发[权威资料]
基于VSTO的Word数据自动化提取及报告生成系统
的设计与开发
摘 要:随着汽车检测技术的发展,越来越多的汽车检测报告随之生成,但是这些检测报告中的数据不易提取,无法对检测数据的二次加工和分析。鉴于此,本文提出了一种基于VSTO的报告数据自动化提取和报告生成的系统。首先,结合现有检测报告设计Word数据自动化提取模板。然后利用VSTO相关技术对Word进行二次开发,实现对模板数据的自动化提取,并将数据导入到数据库中,便于对检测数据进行多维度的分析。同时,系统可以根据数据库中的数据生成相应的检测报告。
关键词:Word;数据提取;报告生成;VSTO
TP317.2
Word是一种应用广泛的文字处理系统,随着汽车检测行业的发展,越来越多的Word检测文档
需要生成,然而这些检测报告格式不统一,存在文档管理混乱、数据提取困难、数据查询不便、数据无法进行二次加工和分析等问题。本文利用VBA(Visual Basic For Application)和VSTO(Visual Studio Tools for Office)相关技术,对Word2010进行二次开发,通过定制Word文档模板和Word外接程序的开发,对Word输入数据有效性的验证、Word数据自动化提取以及Word检测报告的生成。实现了检测报告统一、集成管理,便于对检测报告数据进行分析,挖据数据背后潜在的应用价值。
1 系统的总体框架设计
系统选用Microsoft Visual Studio 2010作为主要开发平台,选用C#为编程语言对微软的Word 2010软件进行定制,同时借助Word内嵌的VBA对数据有效性进行验证。系统
的总体框图如图1所示,分为三部分,第一部分Word报告信息的自动化提取,该部分首先对现有报告进行分析,然后进行Word模板的设计以及外接程序的开发,实现数据自动化提取。第二部分是数据库的设计,本系统的数据库一方面是存储Word文档提取的数据,另一方面为Word报告的生成提供数据来源。第三部分是检测报告的生成,根据数据库中的数据和检测报告模板,生成相应的检测报告。
2 Word二次开发技术分析
软件二次开发,主要指的是对现有的某个软件进行功能扩展、定制,用户根据自身需求在该软件平台上进行第二次有针对性的开发,一般来说都不会改变软件原有的内核。Word二次开发,即是对Word办公软件进行二次开发,主要的技术是VBA和VSTO。
VBA是一种完全面向对象体系结构的编程语言,Word办公软件内嵌了VBA,为用户提供Word应用中的自定义功能。在Word 2010版本中,在开发工具菜单栏中,可以实现对宏的基本操作,如录制、编辑和运行宏等。
VSTO对Word二次开发是一种全新的跨越,它基于Visual Studio开发平台,将Word文档或程序作为对象进行定制。在Visual Studio中,可以对常用Office组件进行文档和外接程序的开发。
3 数据自动化提取
数据自动化提取模块是系统的核心模块,包括Word模板的定制和数据自动化提取程序的开发。其中模板定制使Word文档格式统一,确保模板填写数据的规范性和有效性。数据自动化
提取程序根据需要从模板的特定位置上提取出数据。
3.1 Word模板的设计
Word模板设计的好坏关系到后续功能的实现,因为数据自动化提取和检测报告的生成,都是以模板为依托。Word
模板的设计在现有检测报告的基础上完成的,它主要分为以下几个步骤:
(1)分析现有的检测报告,确定报告中那个位置上的数据需要被提取,然后用符号进行标记,如{R_001}、{R_002}等。
(2)将文档保存为XML格式的文档,然后用正则表达式相关技术对XML格式文档中的特殊标记位置进行替换,使相应的位置转换为书签,后续文档录入实际上是对书签文字进行编辑。
(3)将上一步骤的XML文件转换为Doc文件,然后在利用VSTO的Word文档定制功能,对Doc模板增加相应控件,如时间控件、图片控件以及数据校验按钮。
(4)对特定要求的数据需要进行校验,采用Office内置的VBA编程技术对数据的有效性进行校
验,校验的流程如图2所示。
3.2 数据自动化提取程序设计
数据自动化提取程序是对设计模板上固定位置上的数据进行提取,是对Word程序功能的定制,在Word原有菜单栏项增加数据提取菜单栏,这里用到VSTO的外接程序的开发。为了降低程序的耦合性,提高代码的重用性,程序在开发过程中采用了基于MVC三层架构设计,包括模型层、视图层、逻辑控制层,其中模型层是对Word底层模型进行重新组合与设计。逻辑控制层主要是对数据提取的逻辑模块功能进行划分,包括用户管理模块、数据提取模块、数据上传模块。表示层主要是界面展示。
对于文字格式的信息可以直接根据位置进行提取,而对于图片格式的数据,需要进行转换,因为在Word中图片采用的是Base64的编码格式,要想对Word中的图片数据进行提取,首先要查定位图片对应的Base64编码,然后将Base64编码进行解码转换为图片格式。主要代码如下:
//将Base64编码转化为字节
Byte[] arr=convernt.FromBase64String(str);
//将字节保存到内存流
MemoryStream ms = new MemoryStream(arr);
//转化为Bitmap对象
Bitmap bmp = new Bitmap(ms);
//保存图片
<,ImageFormat.Jpeg);
4 报告自动生成
目前汽车行业检测机构的专家在查看检测报告时,往往要经过很多流程,如向检测人员提出申请,申请通过后通过邮件或者其它方式接受检测结果,这种方式不仅流程繁琐、操作不便,而且检测报告也不便管理。通过报告自动生成技术可有效的解决上述问题,实现检测报告的统一化、一站式的管理。
报告生成的流程如图3所示,首先根据用户选择检测报告生成的方式,按照时间顺序或者用户生成检测报告,然后选择报告编号和报告模板进行数据填充,并对错误信息进行提示。
5 总结
本文设计了基于VSTO的Word数据自动化提取及报告生成的系统,实现了Word 文档的数据自动、准确、规范采集及报告实时生成,实现了检测报告数据统一化、规范化管理。
参考文献:
[1]叶明,张铮.基于C.NET的Word报告生成功能开发[J].计算机工程与应用,2008,44(9):104-106.
[2]鲁保玉,杨新芳.用Delphi生成Word报告及动态结构表格[J].计算机软件与应用,2007,4(3):180-183.
[3]王二暖.基于C#的Word2010文档自动生成系统[J].电脑开发与应用,2011,05.
[4]罗许练.基于C#.NET的动态Word文档生成及数据填充研究[J].惠州学院学报,2009,6(29).
[5]闫新珠,王秀芹.在VC中利用Word生成测量报告[J].地矿测绘,2006,22(1):32-33.
作者简介:惠怡静(1975-),女,天津人,副主任,工程师,学士学位,研究方向:汽车行业信息平台建设、汽车行业政策研究;邵学彬(1986-),男,山东菏泽人,职员,工程师,硕士,研究方向:数据挖掘、软件开发技术、汽车行业数据服务平台开发与建设;程旭(1978-),男,天津人,项目经理,工程师,硕士,主要研究领域:数据挖掘、企业信息化等。
作者单位:中国汽车技术研究中心 数据资源中心,北京 100176
基金项目:中国汽车技术研究中心科研项目(12130109)。
文档资料:基于VSTO的Word数据自动化提取及报告生成系统的设计与开发 完整下载 完整阅读 全文下载 全文阅读 免费阅读及下载
阅读相关文档:组合Web服务的电子商务系统可靠性研究 RH精炼炉集成监控系统中的冗余设计及应用 伊犁河谷植物区系物种资源数据库的构建 基于WEB的设备报修系统的设计与实现 电子政务系统安全风险 基于CMM2过程改进模型的软件实训项目管理系统的研究 智慧银行
对于改善农村支付服务环境应用初探 创新事业单位服务方式构筑安全的电子政务网络平台 浅谈商务俄语翻译知识及翻译技巧 IPv6对于互联网与物联网发展的研究 探究物联网技术在高校安全管理中的应用 基于XML技术农业专家系统知识库的研究 刍议物联网在制造业信息化中的作用 涉密人员的选拔和流动中防泄密对策 基于GoogleMapAPI的海
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论