如何用ADO读取EXCEL呢?请一定要详细点

pcfans007 2005-01-28 06:22:56
我按照以前的贴子总是报错,说什么没有权限打开或被独占方式打开,根本就没法编译,各位谁有这方面的经验或资料,谢谢!
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fayeflash 2005-01-28
  • 打赏
  • 举报
回复
帮你顶上去!
web700 2005-01-28
  • 打赏
  • 举报
回复
没有权限打开或被独占方式打开

************************************
你建一个系统DSN就可以了。
flover 2005-01-28
  • 打赏
  • 举报
回复
我用EXCEL作数据源,某列(A)中有若干条数据为:K14,14,J32,2,17……等,当带字母的第一行,则只能查询到A=(字母开头的数据),反之以数字第一行,则只能查询到数字。在数据库中,可以把字段设成CHAR型,但EXCEL中如何处理呢?
lovend 2005-01-28
  • 打赏
  • 举报
回复
第二种方法﹕
procedure TForm1.Button1Click(Sender: TObject);

var
SqlStr: string;
SqlStr1: string;
begin ///
SqlStr1:='Data Source='+Trim(Ed_File.Text)+';User ID=Admin;Password=;Extended properties=Excel 8.0';
SqlStr:=' SELECT * FROM ';
SqlStr:=SqlStr+' OpenDataSource( '+''''+'Microsoft.Jet.OLEDB.4.0'+''''+',';
SqlStr:=SqlStr+''''+SqlStr1+'''';
SqlStr:=SqlStr+')...sheet1$';
//Memo1.Text:=SqlStr;
//Exit;
with Qry do
begin
Sql.Clear;
Sql.Add(SqlStr);
open;
memo1.Text:= SqlStr;
showmessage('成功! :) ')
end;
end;

用这个方法时﹐adoquery的connectionstring属性可设置与一个sqlserver数据库连接﹐而且这个数据库所再的机子好象要装又office
如﹕Qry.ConnectionString:= 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=;Data Source=127.0.0.1';(如果你本机装了sqlserver的话)

ghy412 2005-01-28
  • 打赏
  • 举报
回复
你是不打开了你要读取的Excel文档?
lovend 2005-01-28
  • 打赏
  • 举报
回复
给excel建个数据源﹐然后用adoquery连接﹐也就是设置它的connectionstring属性﹐然后sql这样写﹕select * from [Sheet1$] 不能少中括号﹐也不能少$

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧