用ADO读取Excel文件?(20分)

  • 主题发起人 主题发起人 林枫
  • 开始时间 开始时间

林枫

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADOConnection组件,Connectionstring=Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:/WINDOWS/Desktop/Book1.xls;
Persist Security Info=False
当设置connected为true时,弹出对话框提示:
Unrecognized database format 'C:/My Documents/fff.xls',
书上并没有提及此问题,不知是怎么回事。
 
加一行:
Extended Properties=Excel 8.0;
//excel 9.0:2000
 
我在Connectionstring属性里加,但还是不行,请问在什么地方加呀?
测试成功后就加分
 
在ALL中加。
 
在“所有”页
设置(点“编辑值”):Extended Properties=Excel 8.0;
 
现在按Test成功了,但编译时就报错。
 
具体出错信息?
使用AdoTable可以见到那些表明,如果使用SQL语句,则将表明用[]括起来
 
可以先用access打开 book.xls 然后访问
 
不打开ACCESS就不能访问,这是为什么
不没有办法解决掉
 
给你函数:
function TImportExcelCompFrm.Fun_ConnetAdoExcel(adAdoName: TADOConnection;
asFldName: String): Boolean;
var
Connect_Str:String;
Temp_Result:Boolean;
begin
Temp_Result:=False;
adAdoName.Connected:=False;
try
Connect_Str:='Provider=Microsoft.Jet.OLEDB.4.0;Mode=ReadWrite;Extended
Properties=Excel 8.0;';
Connect_Str:=Connect_Str+'Data Source='+asFldName+';';
Connect_Str:=Connect_Str+'Persist Security Info=False';
adAdoName.ConnectionString:='';
adAdoName.ConnectionString:=Connect_Str;
adAdoName.LoginPrompt:=False;
adAdoName.Connected:=True;
if adAdoName.Connected=True then
begin
Temp_Result:=True;
end
else
begin
try
Connect_Str:='Provider=Microsoft.Jet.OLEDB.4.0;Mode=ReadWrite;
Extended Properties=Excel 7.0;';
Connect_Str:=Connect_Str+'Data Source='+asFldName+';';
Connect_Str:=Connect_Str+'Persist Security Info=False';
adAdoName.ConnectionString:='';
adAdoName.ConnectionString:=Connect_Str;
adAdoName.LoginPrompt:=False;
adAdoName.Connected:=True;
if adAdoName.Connected=True then
begin
Temp_Result:=True;
end;
except
Temp_Result:=False;
end;
end;
except
Temp_Result:=False;
end;
Result:=Temp_Result;
end;
 
怎么我的Excel中的Sheet表中第一行在Delphi中看不见?
 
接受答案了.
 
后退
顶部