高手来看。

Rose1234567890 2003-10-16 04:39:05
问?
我用的是ACCESS数据库,使用下面的代码:
Query1.DatabaseName:='sun';
Query1.SQL.Clear;
Query1.SQL.Add('select * from "housesource"');
Query1.Open;
DataSource1.DataSet:=Query1;
DBGrid1.DataSource:=datasource1;
想把查找的内容保存到ACCESS数据库外。就是导出数据库。
怎么办呀?
我想导出后保存的文件名为:
.XLS
.SPF
.FPT
同样导入该怎么办呀?就是以上三种文件导入到ACCESS数据库中
有相关的资料吗?到哪里去找呀?最好赐教一些代码?好吗?
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnhb 2003-10-17
  • 打赏
  • 举报
回复
转成EXCEL文件

function ExportToExcel(Header: String;
vDataSet: TDataSet): Boolean;
var
I,VL_I,j: integer;
S,SysPath: string;
MsExcel:Variant;
begin
Result:=true;
if Application.MessageBox('您确信将数据导入到Excel吗?','提示!',MB_OKCANCEL + MB_DEFBUTTON1) = IDOK then
begin
SysPath:=ExtractFilePath(application.exename);
with TStringList.Create do
try
vDataSet.First ;
S:=S+Header;
// system.Delete(s,1,1);
add(s);
s:='';
For I:=0 to vDataSet.fieldcount-1 do
begin
If vDataSet.fields[I].visible=true then
S:=S+#9+vDataSet.fields[I].displaylabel;
end;
system.Delete(s,1,1);
add(s);
while not vDataSet.Eof do
begin
S := '';
for I := 0 to vDataSet.FieldCount -1 do
begin
If vDataSet.fields[I].visible=true then
S := S + #9 + vDataSet.Fields[I].AsString;
end;
System.Delete(S, 1, 1);
Add(S);
vDataSet.Next;
end;
Try
SaveToFile(SysPath+'\Tem.xls');
Except
ShowMessage('写文件时发生保护性错误,Excel 如在运行,请先关闭!');
Result:=false;
exit;
end;
finally
Free;
end;
Try
MSExcel:=CreateOleObject('Excel.Application');
Except
ShowMessage('Excel 没有安装,请先安装!');
Result:=false;
exit;
end;
Try
MSExcel.workbooks.open(SysPath+'\Tem.xls');
Except
ShowMessage('打开临时文件时出错,请检查'+SysPath+'\Tem.xls');
Result:=false;
exit;
end;
MSExcel.visible:=True;
for VL_I :=1 to 4 do
MSExcel.Selection.Borders[VL_I].LineStyle := 0;
MSExcel.cells.select;
MSExcel.Selection.HorizontalAlignment :=3;
MSExcel.Selection.Borders[1].LineStyle := 0;

MSExcel.Range['A1'].Select;
MSExcel.Selection.Font.Size :=24;

J:=0 ;
for i:=0 to vdataset.fieldcount-1 do
if vDataSet.fields[I].visible then
J:=J+1;

VL_I :=J;
MSExcel.Range['A1:'+F_ColumnName(VL_I)+'1'].Select;
MSExcel.Range['A1:'+F_ColumnName(VL_I)+'1'].Merge;
end
else
Result:=false;
end;

Rose1234567890 2003-10-17
  • 打赏
  • 举报
回复
导出EXCEL的例子
uses应该加入什么呀
其它问题为什么没有回答呀
wave_f 2003-10-16
  • 打赏
  • 举报
回复
关注
delphi_xizhousheng 2003-10-16
  • 打赏
  • 举报
回复
导出成EXCEL的例子:
var
tempstr:string;

excel:=TStringList.create;
try
query1.first;
while not eof do
begin
for i:=0 to query1.fieldCount -1 do
if i=0 then
tempstr:=query1.fields[0].Value
else
tempstr:=tempstr+#9+query1.fields[0].Value;
Excel.Add(tempstr);
query1.Next;
end;
Excel.SavetoFile('xxxx.XLS')
finally

excel.free;
end;
sixgj 2003-10-16
  • 打赏
  • 举报
回复
Query1内的数据导出

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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