APP下载

一种基于VB.NET的计量数据统计工具的设计

2016-05-14潘旭辉

科技创新导报 2016年9期
关键词:数据统计计量

潘旭辉

摘 要:为了解决部分县级计量所以Word邮件合并功能批量打印证书后产生的数据统计问题,文章利用VB.NET程序语言设计了一种软件工具,可以把大量的Excel文件进行合并后导入数据库,实现计量检定数据的快速查询和统计,有利于县级计量所当前面临任务重、经费少和人力资源不足的现状下提高数据统计的工作效率和节约人力资源。

关键词:计量 Excel合并 数据统计 VB.NET

中图分类号:TP311.52 文献标识码:A 文章编号:1674-098X(2016)03(c)-0085-02

1 设计背景

县级计量测试所承担着本地区量值传递、保障计量单位的统一和量值准确可靠,执行强制检定和法律规定的其他检定、测试任务,为计量行政部门依法实施计量监督,提供技术保证,是国家计量体系重要的支点。在支持经济社会发展的过程中,发挥了越来越重要的作用,同时也表现出自身的一些不足:检定人员少,人力资源不足;科技研发能力弱;计量器具检定任务重;财政经费有限。很多县级计量测试所没有能力去开发计量管理软件系统,同时也没有能力去购买一套价格不菲的计量管理软件并承担软件后续的升级支持费用。证书打印还只能依靠Word的邮件合并功能进行批量打印,给后续的数据统计带来很大的问题。人工的方式进行统计,不仅耗时耗力,结果还不准确。设计一种计量数据统计工具,对于提高县级所的数据统计能力、节约人力资源有着非常大的意义。

2 设计方法

首先要对利用Word的邮件合并功能批量打印证书的程序进行了解。Word邮件合并方式批量打印证书的步骤一般是先建立Excel表格,将检定证书所需的信息以二维表格的形式输入;然后创建一个新的Word,设计证书的版面,切换到邮件合并选项,选择建立的Excel文件,将文件中的要素插到Word指定的位置,完成合并后,Word中就会呈现证书内容;最后开始批量打印。建立的Excel表格就是该设计要针对的目标数据。对一个县级所,一年可能有上千或数千个Excel表格数据。

设计的第一步是建立数据库,文章的设计思路是把批量的Excel数据表合并为一个表,再导入数据库,完成数据库的建立。第二步是在建好数据库的基础上,设计查询功能,使用者可以以检定证书各要素为选项进行搜索,呈现搜索后的数据,同时自动统计县级所经常需要的服务企业的数量和检定的计量器具的数量。

设计的软件工具选择为VB.NET,它是基于微软.NET Framework之上的面向对象的编程语言,可以方便地对Excel和数据库进行操作。集成开发环境为Visual Studio 2010。

3 设计实现

3.1 建立数据库

此步骤依次由选择合并文件夹、合并Excel表格、整理合并后表格、连接数据库、执行复制操作、更新数据库组成。

3.1.1 选择合并文件夹

类库中的FolderBrowserDialog类提供了一种方法,它提示用户浏览并最终选择一个文件夹。利用它的SelectedPath方法获取用户选择的文件夹的路径。

使用类库中的Directoryinfo类,此类主要用于创建、移动和枚举目录和子目录。利用它的GetFiles方法获取选择的文件夹下的Excel文件名称。

3.1.2 合并Excel文件

从获取的第一个Excel文件开始,一直到最后一个Excel文件依次执行下列程序。

(1)打开文件,获取文件焦点,确定该文件的数据总行数。默认连续3行C列(列名:送检单位)出现空值为数据行结束信号。

(2)考虑Excel文件实际列数不超过16列,故默认数据列数为16列,复制区域(A1:P总行数)内数据,执行复制操作。WorkSheet2.Range("A1:P" & sum).Copy()

(3)新Excel文件打开,获取焦点,执行粘贴操作。

WorkSheet1.Range("A" & sum1 & ":P" & sum + sum1).PasteSpecial()

(4)合并结束后,保存并显示合并的文件数量,然后释放资源。

3.1.3 检查、调整合并后的Excel表格

打开合并后的文件,统一格式,排序去除各个文件原来的标题行。

每个Excel文件都有相同的标题行,合并后就会出现大量的标题行,如果不去除,标题行将作为数据存入数据库。

3.1.4 连接数据库

设置好ADO.NET的连接字符串和SQL查询语句,连接数据库并执行ADO.NET对象DataAdapter的填充命令,在内存中建立两个虚表Table1和Table2,分别对应Access数据库中的表和合并后的Excel表格。

3.1.5 执行复制操作

遍历Tabel2,分别把Table2的每一项数据传递到Table1。

MyRow = MyTable1.NewRow()

MyRow("号") = MyTable2.Rows(i)("号")

MyRow("送检单位") = MyTable2.Rows(i)("送检单位")

……………

3.1.6 更新数据库

DataAdapter的Update命令更新Access数据库,同时释放占用的资源。

3.2 设计查询功能

查询功能分为两个部分,可以查询此次合并数据和历史数据。查询此次数据时,数据库连接合并后的Excel文件,查询历史数据时,数据库连接Access数据库。以检定证书的要素如证书号、送检单位、计量器具名称等为搜索项,可以设定搜索起始日期。

ComboBox控件适用于建议用户选择控件所列举的选项,在该控件的下拉选项中输入证书要素。TextBox控件用于输入搜索内容,MonthCalendar控件用于选择起始日期。

用户输入搜索内容,选定起始日期后,执行搜索命令,搜索结果以证书号增序排列,同时显示搜索结果信息,查询结果如图1所示。

4 结语

该文设计的这种软件工具,可以高效地解决以Word的邮件合并功能批量打印证书后计量数据统计的问题。在当下很多县级计量所计量管理自动化水平不高,证书打印还停留在Word邮件合并方式,打印证书后存在计量数据统计问题的背景下,对县级所提高数据统计能力,节约人力资源具有很大的意义。

参考文献

[1] 魏峥,Visual Basic.NET程序设计教程[M].北京:清华大学出版社,2005.

猜你喜欢

数据统计计量
《化学分析计量》2020年第6期目次
关注日常 计量幸福
计量自动化在线损异常中的应用