免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > c++Builder由Excel数据导入Paradox表的实现

c++Builder由Excel数据导入Paradox表的实现

时间:2012-05-10 22:27来源:未知 整理:寂涯网络 点击:

本文代码pdf清晰版在文章最后有下载
摘 要:Microso丘Excel具有可视的强大的数据处理能力。Paradox表则具有数据存储以及易与应
用程序交互的优势,两者结合使用,可以有效提高数据处理效率。结合实例,讲解由Excel向
Paradox表导入数据的方法。
关键词:Paradox;C++:Excel

1 引言
众所周知.Microsoft Excel是专业数据处理软件。通过
Excel应用程序的窗口界面,用户可以方便地进ij数据录入和
处理。Paradox主要应用于数据容量不是非常大的数据管理.
可以保证有较快的数据访问速度。本文介绍在C++Builder中
利用OLE.实现南Excel表格向Paradox数据表导人数据的程
序设计方法。
2 Paradox数据表
这里以一个简单的学牛信息系统为例.说明数据导人功能
的实现方法。Paradox数据表的字段定义如表1所示。
表1 Paradox表字段定义
Excel数据导入Paradox表的实现
下面介绍使用程序代码创建Paradox数据表的具体方法。
在编写实现代码之前,需要做点准备工作,由于使用TYable、
TQuery和TRegistry类.在头文件中添加:
#include<DBTables.hpp>
#include<Registry.hpp>
实现代码如下:
void CreateAccessTable()
{
-i-rable。Tablel=new TTable(this);//定义并初始化一
/,个TTable类的对象
Yablel一>Active=false;//设霞对象为非激活状态
Tablel一>DatabaseName=”D:\,’:力fi殳置文件存储位置
rablel一>TableName=”Studentlnfo.db”://设置文件
||笔称
Tablel一>TableType=ttParadox;//设定数据表类型为
EParadox
Tablel一>FieldDefs一>Clear();脯空数据表字段定义 Tablel一>FieldDefs->Add(。学号",ftInteger,8.faIse);
,,用于标识不同学生
Tablel一>FieldDefs一>Add(。姓名',ftString.8,false);
Tablel一>FieldDefs一>Add(’性别',ftString.2,false);
Tablel一>FieldDefs一>Add(。入学年月。,ftString,1 O,false);
Tablel一>FieldDefs一>Add(。所在班级',ftString,1 0,false);
Tablel一>FieldDefs一>Add(。家庭住址',ftString,30,false);
Tablel一>FieldDefs一>Add(’联系电话",ftString,1 5,false);
Tablel一>CreateTable0;/,按照字段定义,创建数据表
delete Tablel:∥删除数据表对象
}
通过上述代码。成功地在D盘创建了一个名称为
“Studentlnfo.db”的Paradox数据表文件。下一步工作就是将
Excel表格中的数据导入该表中。
3导入数据
通过上面步骤,已经创建了一个Paradox数据表.下面将
演示如何将Excel表格中数据导入Paradox数据表。前提条件
是Excel表格中应包含Paradox数据表字段对应的数据。要明
确表格数据格式,这晕规定表格的列字段分别为学号、姓名、
性别、入学年月、所在班级、家庭住址、联系电话。第一行为
列标题,从第二行起则为对应的数据内容。
实现代码如下:
void ImportData 0
{ Value。):
TOpenDialog+OpenDialogl=new T0penDiaIog(this): ,/册J除列标题中的李格
if(OpenDialogl->Execute()) int pos;
{ int i:
//读取注册表,判断系统是否安装Excel for(._0:i<6:I++)
TRegistry。Reg=new TRegistryO; {
Reg一>RootKey=HKEY—CLASSES—ROOT;pos=Str[i].Pos(。‘):
if(Reg一>OpenKey(%Excel.Sheet\\CurVer',false))//注册 while(pos>O)
/,表项存在 {
l Str[i].Delete(pos,1):
delete Reg;pos=Str[i].Pos(一):
} }
else }
f //Paradox数据表宁段名称
MessageDIg《。Excel未安装,无法启动!。,mtError. AnsiString TitleStr[7];
TMsgDIgButtonsO<<mbOK.0):TitleStr[O]=。学号。:
delete Reg;TitleStr[1】-。姓名。:
return;TitleStr[2]=。性别‘:
}TitleStr[3]=。入学年月。;
Variant Ex,Wb.Sh;TitleStr[4]=。所在班级。:
try TitleStr[5]=。家庭住址。:
I TitleStr[6]=。联系电话。:
Ex=Variant::CreateObject(’Excel.Application。)://判断表格文件字段是否符合要求
) ._0:
catch(…) bool IsMatch=true;
{ while(i<7)
MessageDIg(。无法打开Excel!。.mtError,TMsgDIg {

本页地址 http://www.jybase.net/biancheng/20120510916.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com