缩略图
Education and Training

关于管道工程建设管理平台数据批量汇总方法的研究

作者

袁吉庆

辽河油田建设有限公司 辽宁省盘锦市兴 124010

一、收集 PIM 系统表单

为了能自动化、批量化将 PIM 内的数据转入 Access 数据库,以供后续的数据加工使用,首先需要将待收集的数据采集项目从系统中下载,并观察分析其数据结构和形式。

通过统计分析,现阶段涉及到的数据采集项目有 49 项,共计 95 个数据移交模板。个别采集项目的数据文件内存在多个表格的情况.

在对所有数据移交模板进行仔细分析后,可得出以下数据结构和形式的规律:

1、所有 Excel 模板文件内每个 sheet 表的 A1 单元格为移交模板的表名称;

2、移交模板的第五行,是采集数据的起始行,前四行属于表头部分;

3、必填项目的名称后面都有一个红色的“*”字符;

二、建立 Access 表对象

由于从 PIM 平台导出的数据是 Excel 文件格式的,根据以往经验,使用 Excel 进行大批量数据处理分析会十分缓慢,且不容易维护,故需要另采取一种方式进行数据的存储和分析。

本次研究决定以 Access 数据库作为数据的存储和处理媒介,作为轻量级桌面型数据库,Access 在处理百万数量级以下的数据任务时是十分高效的。由于 Excel 文件需要导入到 Access 数据库中,因此,需要在 Access 数据库中一一建立这些数据的表对象,并使用中文表名进行命名,同时需要建立一个中文表名与英文表名对照的目录表,方便以后数据调用。

三、明确原理流程

本次研究的基本思路为将外部 Excel 文件数据批量导入至 Access 数据库内,并建立窗体界面方便今后维护使用。数据导入方法的核心为 insert语句,但是鉴于 Excel 数据模板结构和 Access 数据库的设计约束等因素,直接使用 insert 语句导入数据会出错,因此在使用该方法前还需解决以下几个问题:

(1)如何获取每一个 Excel 文件中每一个 sheet 表中的数据;(2)如何确定 Excel 文件中 sheet 表与 Access 表对象的对应关系;(3)如何将 Excel 文件 sheet 表中表头部分内的“*”字符批量去掉;(4)在前 1-3 问题处理后,如何将 Excel 文件 sheet 表中表头部分中的前三行批量删除掉;通过深入的思考、研究并经模拟测试,上述四个问题的解决方案已确定,具体如下:(1)通过遍历读取每一个 Excel 文件中每一个 sheet 表中 A1 单元格的值,获取模板名称;(2)通过获取的模板名称,借助 Access 中建立的目录表单对象查找对应名称的表对象;(3)使用 Replace 函数在读取数据阶段将 Excel 文件 sheet 表中表头部分内的“*”字符批量去掉;(4)从 Excel 文件每个 sheet 表中第一行开始,使用循环删除行的方法,直至 A2 单元格的值为“PROJECT_CODE”,此时再保留第一行,删除第二行。在综合了数据的结构形式,并考虑 Access 数据库的使用特点后,形成如下的原理流程:

图 1 数据批量汇总流程图

四、具体实施

在明确了原理流程之后,下步即可开始具体实施环节,并依照“建立外部存储文件夹”、“创建 Access 文件”、“新建用户操作窗体”、“编写功能模块”的实施顺序展开:

1、建立外部存储文件夹

因后续 Access 数据库文件需要循环读取导出的 Excel 文件,因此需要将这部分导出文件统一放置在固定的文件夹内,以供读取和调用。

2、创建 Access 文件

为保证今后数据调取方便,在上一步建立的文件夹的同一路径上新建Access文档,并在其中根据不同的数据采集项目表格创建95个数据表对象,对每个数据表对象设定约束性规则,例如加入主键、字段类型、字段长度等。

3、新建用户操作窗体

从数据维护方便的角度考虑,在数据库内创建窗体对象,用于提供人机交互的友好界面,并根据需要在其中添加相应的功能按钮。

4、编写功能模块

施工数据的导入采取一键处理并批量导入的方式,因此功能按钮需要包含流程中所述的“数据处理”和“数据存储”的所有功能要求.

·从PCM平台下载数据文 数据处理 通过Access表中字段设 数据存储件,并放至指定文件夹 置约束规则,对导入的内; ·获取模板名称; 数据进行清洗筛选; ·对清洗后的数据,依照

·创建Access相关表; ·删除表头中的“*”; 其表名对应存储至相应·删除表头无用信息行 的Access表对象中,以·从Excel中的第5行依次读 供后续使用;数据收集 取导入数据; 数据清洗

五、运行测试

在完成代码构建的基本编译调试后,即可开始数据批量汇总的最终测试阶段。

1、从 PIM 下载采集数据,并放至指定文件夹内。本次测试共导出 Excel文档 1120 个。

2、打开用户操作窗体界面,使用功能按钮导入数据。

窗体界面的左上角区域为用户操作区域,包括为三个为系统提供数据的导入路径和功能按钮。其中导入路径可以使用系统默认设置的路径,也可以使用用户自定义的路径。但是该路径下应存放所有下载待处理的 Excel文件,即已下载的 1120 个 Excel 导入模板文件。

用户操作区域的下方为数据数量统计显示区,用以显示当前系统内所有施工数据表中分别存在的记录条目数。

用户操作区域的右侧为记录用户或系统操作的操作日志记录区域。

在选择好施工数据导入路径后,点击其后面的“导入”按钮,开始数据批量导入并处理:

在数据导入完成之后,数据数量统计区域将自动更新,即显示导入数据后当前系统内的数据数量,为用户提供数据决策和审查支持。

六、后记

在完成了数据批量汇总收集的功能之后,即可使用这些数据进行数据分析、数据处理操作,以完成各种复杂的操作功能,例如智能生成可视化图表、智能编制管道安装记录、自动生成上报监理、业主单位的各类统计表格等,数据批量汇总对后续的数据处理操作有着深远的影响和意义。