- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 5
Excel文档数据自动抽取设计与实现
中国人民革命军事博物馆 罗宁
摘要:本文介绍了一个用VB6开发的抽取Excel文档内容的方法,利用这种方法可以抽取零散数据,并方便批量倒入数据库。对于数据的离线采集,批量导入非常实用。
关键词:vb Excel 数据抽取
引言
军事博物馆是个具有50年历史的老馆,从文物征集到整理入藏的过程中会形成很多纸质的档案和交接的帐目表格。这些档案和帐目过去基本是手写誊抄,不仅费时费力,还不利于查询利用和管理。计算机普及后,征集人员曾把手写文物档案改为Word文档,但在做交接帐目时还需手工录入,效率仍然不高。为了解决数据重复录入,耗时且出错率高的问题,笔者提出了用Excel工作簿取代Word文档的数据采集方案,并通过VB编程解决了数据批量抽取,形成各种交接帐目,并可将帐目中的数据导入文物帐目数据库,以利于进一步的管理。此方案应用后能很好地适应这种数据分散采集,统一处理的工作模式,提高了工作流程的自动化水平和工作效率。现以“征集帐目生成程序”为例介绍这一方法。
二、实施方案分析
1、需求分析
文物管理要求一物一档,军博使用的文物档案是按国家文物局的标准定制的含文物名称、数量、年代、质地、尺寸重量、捐赠者、流传经历等几十个著录项目共7页的表格。笔者按此格式制成了含7个工作表的Excel工作簿作为文物档案模板。每份档案以“入馆凭证号”命名。工作中需要每隔一段时间从一批单个的Excel档案工作簿中自动抽取出入馆凭证号、文物名称、数量和来源项目的数据,填入一个新的Excel列表,自动生成征集帐目,以满足建帐要求。
文物档案工作簿的第二页表sheet2中,有名称、原编号、时代、作者/物主、制作时间、数量、质地、色泽、用途、作者小传、来源(含发掘地址、拨交单位、采集地区、交换单位、捐赠者姓名、捐赠者地址、经办人)、尺寸重量、入馆日期、入馆凭证号、附属物、形状内容描述等多个著录项。如下图所示:
需要抽取的数据项为入馆凭证号、名称、数量、来源(由拨交单位、捐赠者地址、姓名等项目组合而成)四项,形成新的征集帐目表单如下:
入馆凭证号
名称
数量
来源
2009/001
名称一
1
来源一
2009/002
名称二
1
来源二
每份档案抽取的数据形成新表的一行数据。这样,一批需要交接的文物档案可以统一处理形成一个征集帐目表,用于统计、归档和交接。
需抽取的数据都填写在原Excel档案工作簿中的固定单元格内,用编程的方法可以实现定位抽取并循环填入新Excel工作簿“征集帐目表”的相应的单元格内。
两表数据对应单元格如下表所示:
数据项
对应原工作表
对应原表单元格
对应新工作表
对应新表单元格
入馆凭证号
Sheet2
H21
结果
A(n+1)
名称
Sheet2
C1
结果
B(n+1)
数量
Sheet2
H3
结果
C(n+1)
来源(拨交单位)
Sheet2
D12
结果
D(n+1)
来源(捐赠者地址)
Sheet2
E15
结果
D(n+1)
来源(捐赠者姓名)
Sheet2
E14
结果
D(n+1)
2、功能分析
程序界面如下图所示:
表单上半部分的一组DirveListBox、DirListBox 和FileListBox控件用于选择存放需处理的成批文物档案工作簿所在路径。选定后FileListBox中显示出整批的文物档案工作簿名称。表单下半部分的一组DirveListBox、DirListBox 和FileListBox控件用于选择存放新的“征集帐表单.xls”文件所在路径,在选定此文件后,“处理数据”按钮显示为可用,点击后即开始逐个抽取档案工作簿中固定单元格内的内容,按需组合后,逐行填入征集帐表单,自动生成帐目内容。处理每个档案文件时,档案文件名高亮显示,处理完成后提示处理所用时间。一般一分钟内可以处理20件文档。
数据抽取后生成帐目文档如下图所示:
程序实现
1、流程图:
2、核心代码:
在VB6.0环境中,建立一个标准的EXE工程,在“工程”菜单下选择“引用”项,然后加入Microsoft Excel 11.0 Object Library,用于加载与Excel交互代码的类库支持。
此程序主要实现一个循环和一个数据抽取填入。数据抽取和填入采用编写与Excel交互的类代码来实现,在循环里调用这个类的实例实现文档的批量处理。
建一个与Excel交互的类模块cls_excel 代码如下:
Public Function C_Excel(Pdir As String, filename As String, pos As String, MidFileName As String)
‘变量说明:
‘Pdir 为Excel文件所在路径,filename为需抽
您可能关注的文档
最近下载
- 全国大学生市场调查分析大赛优秀报告.docx
- 2024年上海市中考综合测试(物理、化学、跨学科)试题卷模拟卷(含答案解析).docx
- 小学科学地球的卫星——月球 课件.pptx VIP
- 1﹒1﹒3集合基本运算.ppt VIP
- AHRI Standard 210.240-2023 (2020)北美单元式空调能效认证.pdf VIP
- 考勤管理制度附请假调休公出等表格.doc
- 人教版八年级英语AnoldmantriedtomovethemountainsSectionA3a-3c.pptx VIP
- 热力管道支架托架图集05R417-1.pdf
- 脑血管病医院商业计划书案.pptx
- 新外研版八年级下册期中总复习课件.pptx
文档评论(0)