Delphi 中如何将EXCEL表导入到已知的数据库中,再进行操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 中如何将EXCEL表导入到已知的数据库中,再进行操作相关的知识,希望对你有一定的参考价值。
用DELPHI编,实现查询EXCEL表在数据库中的表是否存在,不存在则插入数据库表中,请DELPHI高手帮个忙
下面是一张EXCEL表格
客户代码 客户名称 客户税号 客户地址 客户开户银行账号
000001 abc 11111000 dasgadsgs 3241354325423
000002 dsf 32413454 dasadgdsgf 2314341413143
。。。
下面是一个用SQL语句创建的表
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[客户基本资料表](
[系统编号] [int] IDENTITY(1,1) NOT NULL,
[单位级别代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位名称] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
[单位电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[所在省份代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在城市代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[邮政编码] [varchar](6) COLLATE Chinese_PRC_CI_AS NULL,
[通信地址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司网址] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[公司类型代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司性质代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[所在行业代码] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[经营品牌] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[行业地位] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[其它描述] [text] COLLATE Chinese_PRC_CI_AS NULL,
[录入日期] [datetime] NOT NULL,
[录入人员代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[公司传真] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[月开票量] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[可能购买的产品] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[最后跟踪时间] [datetime] NULL,
[签约标志] [varchar](2) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_客户基本资料表] PRIMARY KEY CLUSTERED
(
[系统编号] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
CREATE TABLE [dbo].[税控导入资料](
[客户编码] [int] IDENTITY(1,1) NOT NULL,
[客户名称] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[客户地址电话] [varchar](255) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_税控导入资料] PRIMARY KEY CLUSTERED
(
[客户编码] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
请问如何根据上面两个用DELPHI设计一个程序实现下面的要求:
1、根据 excel表上的客户名称,判断一下 客户基本资料表中的单位名称是否存在,如果存在,那么就不做处理
2、如果不存在,那么,再根据客户名称,判断一下 税控导入资料中的 客户名称 是否存在
3、如果存在,则不做处理,如果不存在,那么将数据插入到 税控导入资料表中
begin
TotalRowCount:= RowCount;
ProcessBarUtil.initProgressBar(0,TotalRowCount);
ProcessBarUtil.setProgressHintText(1,'保存邻区列表数据...');
for i:=1 to TotalRowCount-2 do
begin
for j:=0 to TotalColumCount-1 do
begin
valueStr:=GetCellObject(j,i).Text;
if valueStr='' then
break;
end;
try
DBUnit.DataModel.ImportUserNbList(valueStr);//DB方法
except
end;
end;
end; 参考技术B adoconnection连上excel 然后就像数据库那样操作。
进行取值 然后用另一个ado连到数据库来判断 参考技术C d
delphi 如何在Delphi中执行将Excel表格里的内容导入数据库中相应表
如何在Delphi中执行将Excel表格里的内容导入数据库中相应表的操作呢????不知道应该如何去实现在Delphi设计的前台就可以执行分别把不同的Excel的表格导入SQL Server 2000数据库中不同的表中请指导一下吧难道是用执行DTS打包调入?
参考技术A 可以先倒入access,再转入sql或者编写一个小程序逐个写入首先创建Excel
对象,使用ComObj
ExcelID:
Variant;ExcelID
CreateOleObject(
'Excel.Application'
);
1)
显示当前窗口:ExcelID.Visible
True;
2)
更改
Excel
标题栏:ExcelID.Caption
'应用程序调用
Microsoft
Excel';
3)
添加新工作簿:ExcelID.WorkBooks.Add;
4)
打开已存在的工作簿:ExcelID.WorkBooks.Open(
'C:ExcelDemo.xls'
);
5)
设置第2个工作表为活动工作表:ExcelID.WorkSheets
.Activate;
或
ExcelID.WorksSheets
.Activate;
6)
单元格值赋给表字段:table1.field
.value:=ExcelID.Cells[1,4].Value
;
以上是关于Delphi 中如何将EXCEL表导入到已知的数据库中,再进行操作的主要内容,如果未能解决你的问题,请参考以下文章