一个很值得研究的问题,感兴趣的进来看看
我用下面的方式生成个Excel文件,方法如下:
buffList:=TStringList.Create;
for i:=0 to TempQuery.FieldCount-1 do
str:=str+ tempQuery.Fields[i].FieldName+#9;
buffList.Add(str);
while not TempQuery.Eof do
begin
str:='';
for i:=0 to TempQuery.FieldCount-1 do
str:=str+TempQuery.Fields[i].AsString+#9;
buffList.Add(str);
ProgressBar2.Position:=ProgressBar2.Position+1;
TempQuery.Next;
end;
buffList.SaveToFile('c:\Examdata.xls');
但是我用ADO去连这个文件时确报错误"外部表不是预期的格式"。连接串是这样的
ADOConncetion.conncetionstring:"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:\Examdata.xls;Extended Properties=Excel 8.0"
用同样的连接串去连接Excel创建的.xls文件却没有问题,这是怎么回事?我用Excel也能打开我用程序创建的.xls文件。Extended Properties属性我改成Excel 4.0、Excel 5.0也试过了都不行。之所以选择上面的方法生成.xls文件是因为它的生成效率比较高,要比用servers组件生成的快。