导航:
论坛 -> 论坛精华贴
斑竹:liumazi,iamdream
作者:
zwn (zwn)
★☆☆☆☆
-
盒子活跃会员
2004/5/31 7:51:05
标题:
喜讯,EXCEL表转ACCESS库终于完成,速度快得惊人,欢迎指导、修改?
浏览:14593
加入我的收藏
楼主:
通过近两天时间的思考、调试,我终于完成了EXCEL表导入ACCESS库,几行代码,导入速度惊人,不需要建立过程或函数,欢迎将代码修改,传给DELPHI爱好者,修改好的代码记得要给我一份哟!同时感谢WINDOWS.NET的无私帮助。 procedure TForm1.Button1Click(Sender: TObject); begin adoconnection1.Connected:=false; ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db.mdb;' +'Persist Security Info=False'; ADOConnection1.Execute('select * into book FROM [excel 8.0;database=c:\mybook.xls].emtl'); adoconnection1.Connected:=true; end; 现代码需要加入一些对话框,如导入表已经存在,再导入需要覆盖的提示呀、导入完成呀等,以及EXCEL表、ACCESS库的相对路径代码,欢迎修改。
----------------------------------------------
感谢给我帮助的朋友们!希望能够遇见你!祝福您一生平安!
作者:
yflk (远方来客)
★☆☆☆☆
-
盒子活跃会员
2004/5/31 7:59:22
1楼:
拿来试试 谢谢
----------------------------------------------
-
作者:
zwn (zwn)
★☆☆☆☆
-
盒子活跃会员
2004/5/31 8:03:44
2楼:
代码我提示一下哈: select * into book FROM [excel 8.0;database=c:\mybook.xls].emtl 此SQL语句中book是可以任意取的,相当于ACCESS库的表,另外EMTL是EXCEL表MYBOOK工作簿的一个工作表相当于SHEET1。
----------------------------------------------
感谢给我帮助的朋友们!希望能够遇见你!祝福您一生平安!
作者:
2004/5/31 8:16:36
3楼:
“欢迎将代码修改,传给DELPHI爱好者,修改好的代码记得要给我一份哟!” 那什么时候给我们大家看看嘛?
----------------------------------------------
-
作者:
2004/5/31 8:46:57
4楼:
还多呢 我给两个好了 导出DBF ADOConnection1.Execute('Select * into aaa In "C:\" "dbase III;" from AfterServiceTbl'); 导出text ADOConnection.Execute('Select * Into [Text;Database=c:\temp].aaaa.txt From aaaa'); 什么格式的数据库导出导入我都有 找我就是:QQ40260458
----------------------------------------------
merry_bip
作者:
zwn (zwn)
★☆☆☆☆
-
盒子活跃会员
2004/5/31 9:01:59
5楼:
4楼兄弟,你怎么不早说呢,害得我好惨,我在本论坛上找了好久啊,我在网上档了一个异构数据库的导入导出代码,可在调试时,问题大大的哟,我希望你能把成功的调试代码贴出来嘛,尽量详细点,多加注释。
----------------------------------------------
感谢给我帮助的朋友们!希望能够遇见你!祝福您一生平安!
作者:
2004/5/31 9:32:03
6楼:
好东西,值得收藏。
----------------------------------------------
-delphi初学者网上充值最低价充值只要94.9元 点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
2004/6/2 17:45:57
7楼:
请问一下,我想将查询后的结果,导出到EXCEL,应该怎么做..谢谢.
----------------------------------------------
不写程序已N年,不甘心不放手...
作者:
2004/6/2 19:16:59
8楼:
不是都有了么?你还非要较劲?
----------------------------------------------
-delphi初学者网上充值最低价充值只要94.9元 点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
2004/6/8 12:29:17
9楼:
到出excell DM.ADOCon.Execute('Select* Into Sheet1 In "'+Excel_Dialog.FileName+'" "Excel 8.0;" From ConsumerInfoTbl '+SelCondition1+ 'order by ConsumerID'); 导入把它换过来就行了 我好久没有上了 所有没有给你(7893158)讲
----------------------------------------------
merry_bip
作者:
qfls (清风流水)
★☆☆☆☆
-
普通会员
2004/6/20 21:02:00
10楼:
谢谢,真是好东东
----------------------------------------------
-
作者:
2004/6/23 8:00:06
11楼:
为什么我照着他的抄回去, 运行程序时会提示我找不到emtl, 哪位大大指点一下?
----------------------------------------------
ADOQuery ---------- 我就喜欢
作者:
2004/6/23 17:42:40
12楼:
各位大侠,我有一个表是ACCESS的,想保存原来的数据再添加一个字段,不知道SQL语句该怎么写,是alter structure 吗
----------------------------------------------
别笑我笨!我一直在努力!
作者:
2004/6/23 17:48:36
13楼:
啊我的邮箱yatouruihua@163.com
----------------------------------------------
别笑我笨!我一直在努力!
作者:
2004/6/24 20:12:26
14楼:
12楼的可以这样:select 原字段1,原字段2...," " as 新字段 from 原数库
----------------------------------------------
-delphi初学者网上充值最低价充值只要94.9元 点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
2004/6/25 8:18:12
15楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
出售进销存(pos收银)软件源码 http://item.taobao.com/item.htm?id=9909187456
作者:
2004/6/25 10:08:48
16楼:
14楼的,谢谢你啊,在想请问一下:我想写一个SQL语句,能将某一个字段的值在原来的基础上再加上一个5,另外添加一个字段后,字段的值为另一个查询语句的内容。应该怎么写啊?很希望你能经常和我联系,因为我才是真正的初学者呵呵,行吗?
----------------------------------------------
别笑我笨!我一直在努力!
作者:
2004/7/3 12:45:38
17楼:
请问有没有那种有源代码作品发布啊?就是把excel导入到access那种。
----------------------------------------------
成功不是必然的,但努力是必须的!
作者:
2004/7/4 10:37:35
18楼:
yi ge query zen me dao ru yi ge access biao ne bao qian ji zi you wen ti zhi neng da cheng zhe yang
----------------------------------------------
别笑我笨!我一直在努力!
作者:
2004/7/4 11:02:33
19楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
作者:
2004/7/5 23:25:05
20楼:
楼主不是写得很明白,再不行看看ACCESS的HELP
----------------------------------------------
-delphi初学者网上充值最低价充值只要94.9元 点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
mmxl (嫁给cpu)
★☆☆☆☆
-
盒子活跃会员
2004/7/12 9:12:07
21楼:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +ExtractFilePath(ParamStr(0))+ 'spk.mdb;Persist Security Info=False'; opendialog1.Title:='´ò¿ªExcel>>>'; if opendialog1.Execute then path_str:=opendialog1.FileName; if path_str<>'' then begin sql_str:='select * Into ptable FROM [Excel8.0;DATABASE='+path_str+'].Sheet1'; //showmessage(sql_str); ADOConnection1.Execute(sql_str); adoconnection1.Connected:=true; end; adoconnection1.Connected:=false;
----------------------------------------------
共同进步!共同发展软件事业!
作者:
mmxl (嫁给cpu)
★☆☆☆☆
-
盒子活跃会员
2004/7/12 9:12:47
22楼:
上面的代码有错么?
----------------------------------------------
共同进步!共同发展软件事业!
作者:
2004/9/1 14:51:41
23楼:
有或!SHEET1找不到!
----------------------------------------------
Alien
作者:
2004/9/3 16:33:26
24楼:
就是啊,怎么运行出错,提示找不到sheet1
----------------------------------------------
尽情舒展,是一种向往,想去的地方、想拥有的感受,尽管追求!
作者:
2004/9/3 17:03:01
25楼:
也就是11楼的问题,请指教啊
----------------------------------------------
尽情舒展,是一种向往,想去的地方、想拥有的感受,尽管追求!
作者:
2004/9/22 16:05:01
26楼:
[Sheet1$]
----------------------------------------------
Alien
作者:
ljhok (有点心动)
★☆☆☆☆
-
盒子活跃会员
2004/10/19 20:38:15
27楼:
大家能不能做个东东出来,供大家共享,来得快呀
----------------------------------------------
-
作者:
2004/10/25 22:01:55
28楼:
高手如云啊,佩服!
----------------------------------------------
-
作者:
2004/11/7 11:23:27
29楼:
我试了,为什么提示"没有可以安装的ISAM"? 请大家指教!
----------------------------------------------
-
作者:
dknow (dknow)
★☆☆☆☆
-
盒子活跃会员
2004/11/10 21:49:52
30楼:
请教:如何将有通过ADOC的EXECUTE方法将有分隔符的文本文件导入到ACCESS中?如A|B|C ,导入后生成三个字段
----------------------------------------------
-
作者:
2004/12/3 13:39:51
31楼:
各位高手,怎么样根据倒入表名不定的EXCEL呀 我用了个字符串变量,sql_str:='select * Into aaa FROM [Excel8.0;DATABASE='+path_str+'].[aaa$]' 怎么总报 aaa$不是有效的文件名
----------------------------------------------
-
作者:
2005/1/3 15:06:11
32楼:
确实太好了,非常感谢谢!
----------------------------------------------
-
作者:
2005/2/10 21:31:05
33楼:
厉害啊!
----------------------------------------------
-
作者:
2005/2/28 10:00:54
34楼:
v:= CreateOleObject('Excel.Application'); //不显示EXCEL v.Visible := false; //打开模板 v.Workbooks.Open(ExtractFilePath(Application.ExeName)+ 'temp.XLS'); Sheet:=v.Workbooks[1].WorkSheets[1]; Sheet.Cells[2,4] :=temp.fieldbyname('日期').AsDateTime;//日期 Sheet.Cells[2,6] :=temp.fieldbyname('票据日编号').AsString ;//票据日 ---------- 这是我用来链接excel的语句,用在excel2000里时一切正常,可是当用在excel2003时会弹出个出错提示。虽然功能也能使用正常但有个提示框总不舒服。有什么方法除掉?
----------------------------------------------
-一个篱笆三个桩,一个好汉三个帮,为了大家过得更美好,这世界需要热心肠。
作者:
2005/3/1 14:23:04
35楼:
----------------------------------------------
-
作者:
mrmzy (Delphi_mrmzy)
★☆☆☆☆
-
普通会员
2005/3/25 16:00:20
36楼:
谢谢了啊 我就是在找这个!
----------------------------------------------
目的是简单的:学好DELPHI 动机是单纯的:为了拿更多的money!
作者:
2005/4/25 17:50:46
37楼:
try excelquery.ConnectionString :='provider=microsoft.jet.oledb.4.0;data source='+excelpath+ ';extended properties =excel 8.0;persist security info=false'; excelquery.SQL.Clear; excelquery.SQL.Add('select 编号,姓名,性别,班级号,班级名,年级号,年级名,年龄,密码 from [sheet1$]'); excelquery.Open; try for i:=0 to excelquery.RecordCount -1 do begin mdbquery.SQL.Clear; mdbquery.SQL.Add('insert into 学生表 (编号,姓名,性别,班级号,班级名,年级号,年级名,年龄,密码) values (:v1,:v2,:v3,:v4,:v5,:v6,:v7,:v8,:v9)'); mdbquery.Parameters.ParamByName('v1').Value :=excelquery.Fields[0].AsString; mdbquery.Parameters.ParamByName('v2').Value :=excelquery.Fields[1].AsString; mdbquery.Parameters.ParamByName('v3').Value :=excelquery.Fields[2].AsString; mdbquery.Parameters.ParamByName('v4').Value :=excelquery.Fields[3].AsString; mdbquery.Parameters.ParamByName('v5').Value :=excelquery.Fields[4].AsString; mdbquery.Parameters.ParamByName('v6').Value :=excelquery.Fields[5].AsString; mdbquery.Parameters.ParamByName('v7').Value :=excelquery.Fields[6].AsString; mdbquery.Parameters.ParamByName('v8').Value :=excelquery.Fields[7].AsInteger; mdbquery.Parameters.ParamByName('v9').Value :=excelquery.Fields[8].AsString; mdbquery.ExecSQL; excelquery.Next; end; messagebox(getactivewindow(),'数据导入成功!','提示',mb_ok+mb_iconinformation); except messagebox(getactivewindow(),'zp提示你,数据导入失败,请确认'+#13+'EXCEL文件与模板格式相同!','警告',mb_ok+mb_iconwarning); end; except messagebox(getactivewindow(),'请确认已安装EXCEL!','警告',mb_ok+mb_iconwarning); end;
----------------------------------------------
我Delphi水平不行,其他的也不怎么样,来这纯属灌水~~~~~
作者:
2005/4/26 10:29:56
38楼:
历史血的经验,如果非标准数据请不要用ADO连接EXCEL,出错率极高,死了也不知道怎么死的 , 如果是标准数据就可以用ADO
----------------------------------------------
-
作者:
2005/6/19 10:48:26
39楼:
希望版主能把此类问题归纳起来,以专题的形式公布,以方便我等菜鸟寻找!
----------------------------------------------
-
作者:
yueue (yueue)
★☆☆☆☆
-
盒子活跃会员
2005/6/19 15:13:51
40楼:
ding
----------------------------------------------
考不上学,享受不了好的教育. 要想成功,只有付出更多更多.
作者:
hslh (888)
★☆☆☆☆
-
普通会员
2005/6/22 23:42:01
41楼:
收藏
----------------------------------------------
-
作者:
l3090 (3090)
★☆☆☆☆
-
普通会员
2005/7/9 15:00:19
42楼:
慢慢研究!
----------------------------------------------
新手上路,请多关照,不要见笑!
作者:
2005/7/10 7:09:12
43楼:
好东西,做个记号,关于的EXCEL表转ACCESS库
----------------------------------------------
大家好,共同的爱好,共同的兴趣,让我们共同进步!
作者:
2005/7/24 10:08:57
44楼:
请教各位高手: 执行 CreateOleObject('Excel.Application'); 语句提示: “RPC服务器不可用” 执行 ExcelApplication1.Connect; 语句提示: “interface not supported” 执行 WordApplication1.Connect; 语句提示: “服务器运行失败” 这是什么原因? 请指点,谢谢! QQ 419514365
----------------------------------------------
-
作者:
2005/7/25 15:05:58
45楼:
不错
----------------------------------------------
-
作者:
l3090 (3090)
★☆☆☆☆
-
普通会员
2005/8/11 11:18:49
46楼:
拜读楼主及各位大虾的大作,我对各位的佩服之情犹如滔滔江水,小弟现有一问题请教:如果在导出的数据表中加入一时间变量(edit1.text),请问该怎么加? 这个问题困扰我也已好久了! 还有,37楼的方法好象很慢!
----------------------------------------------
新手上路,请多关照,不要见笑!
作者:
2005/8/28 22:19:23
47楼:
兄弟们,有谁能指教小妹一下咯 DELPHI数据库如何转换成SQL server格式,反过来又怎么办呢 救急
----------------------------------------------
你的幸福就是我快乐的原因
作者:
kg73 (蓝苹果)
★☆☆☆☆
-
盒子活跃会员
2005/8/28 22:47:50
48楼:
to: 楼上的 wym6242623 一看你的问题就知道你是高手哈。 这个问题真的是高深哦。 谁能回答你的问题真的是“高手中的高手”。 佩服,佩服。 呵呵。。。 。。。
----------------------------------------------
-
作者:
2005/8/29 9:18:01
49楼:
异构数据库之间的导入导出 //MSSQL2EXCEL ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;' +'Extended Properties=excel 8.0'; ADOConnection1.Execute('select * into [Abc] from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]'); //把一个MSSQL的数据库表及数据导出到excel中,abc为excel中不存在的表名,drug_yk为MSSQL里的表, sa为 用户, kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称 ADOConnection1.Execute('insert into [abc] select * from drug_yk in [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]'); //把一个MSSQL的数据库表的记录增加到到excel中,执行以后相当于两倍量的数据,一次是导入,一次是 insert //EXCEL2MSSQL ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN'; ADOConnection1.Execute('SELECT * into [abc] FROM OpenDataSource( ' +QuotedStr('Microsoft.Jet.OLEDB.4.0')+',' +QuotedStr('Data Source="G:\mysmallexe\excel2sql\yp.xls";Extended Properties=excel 8.0') +')...[Abc]'); //MSSQL2VFP ADOConnection2.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;' +'Extended Properties=dBase 5.0'; ADOConnection2.Execute('select * into Abc.dbf from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]'); //把一个MSSQL的数据库表及数据导出到VFP中,Abc.dbf 为VFP中不存在的表名,drug_yk为MSSQL里的表, sa为 用户, kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称 //VFP2MSSQL ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN'; ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( ' +QuotedStr('Microsoft.Jet.OLEDB.4.0')+',' +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=dBase 5.0')+')... [Abc]'); //MSSQL2access ADOConnection2.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;' +'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear'; ADOConnection2.Execute('select * into Abc from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]'); //access2MSSQL ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN'; ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( ' +QuotedStr('Microsoft.Jet.OLEDB.4.0')+',' +QuotedStr('Data Source="G:\mysmallexe\excel2sql\Server.MDB";Jet OLEDB:Database Password=happynewyear')+')...[Abc]'); //excel2access ADOConnection2.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;' +'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear'; ADOConnection2.Execute('SELECT * into [abc] FROM [excel 8.0;database=G:\mysmallexe\excel2sql\yp.xls].[abc$]'); //access2excel ADOConnection2.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;' +'Extended Properties=excel 8.0'; ADOConnection2.Execute('SELECT * into abc from [G:\mysmallexe\excel2sql\Server.MDB;pwd=happynewyear].abc'); //MSSQL2txt ADOConnection2.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;' +'Extended Properties=text'; ADOConnection2.Execute('select * into Abc#txt from drug_yk IN [ODBC] [ODBC;Driver=SQL Server;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]'); //txt2MSSQL ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist Security Info=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN'; ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( ' +QuotedStr('Microsoft.Jet.OLEDB.4.0')+',' +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=text')+')... [Abc#txt]');
----------------------------------------------
-
作者:
2005/8/29 14:43:04
50楼:
我是第一菜,不能笑我哦
----------------------------------------------
你的幸福就是我快乐的原因
作者:
2005/9/28 15:12:11
51楼:
顶
----------------------------------------------
-Show me the way!!
作者:
2005/10/24 9:33:48
52楼:
..........?
----------------------------------------------
-
作者:
2005/11/22 8:26:30
53楼:
全部都是一堆垃圾
----------------------------------------------
-
作者:
nciwp (悲伤的泪)
★☆☆☆☆
-
盒子活跃会员
2005/11/22 12:21:46
54楼:
收藏!
----------------------------------------------
-悲伤之后是什么?探索寻求答案中!
作者:
2005/12/2 13:44:51
55楼:
一定要收藏,差点找不到!~~~
----------------------------------------------
作者:
2005/12/4 9:06:42
56楼:
收藏先,有空我把它们整理下做成控件。
----------------------------------------------
-
作者:
2005/12/19 16:46:44
57楼:
喜讯啊 ... 对了,这个是利用MS JET引擎的,需要注意是独占式打开那个Excel文件的,运行这个代码前需要注意不要有其他程序打开了那个Excel文件,再就是还有一个很有用的参数HDR。
----------------------------------------------
Try To Learn More...
作者:
2006/3/13 12:48:39
58楼:
各位是否测试过 楼主的代码 如果在excel文件中单元各不做设置 直接录入数字 在导入Access是为空
----------------------------------------------
-
作者:
2006/4/26 2:21:02
59楼:
哈哈,先谢谢了~~~学习学习...
----------------------------------------------
-
作者:
2008/5/23 16:19:21
60楼:
这种方法不能控制各字段类型.
----------------------------------------------
-
作者:
2008/5/23 16:20:35
61楼:
TXT还必须Schema.ini来控制
----------------------------------------------
-
作者:
2011/4/30 14:45:40
65楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2011/7/7 23:34:09
67楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!
作者:
2011/7/7 23:40:05
68楼:
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
发布广告,禁用帐号!