请问如何把DBGRID中显示的数据内容导出到EXCEL中(100分)

  • 主题发起人 主题发起人 ljlsj
  • 开始时间 开始时间
L

ljlsj

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何把DBGRID中显示的数据内容导出到EXCEL中
 
楼主可以看看前人关于异构数据库之间导数据的例子
 
我这里有一个例子
要不
 
我这里有个例子,你可以借鉴以下
procedure Tf_daily.WriteExcel(query: Tadoquery; sName, Title,type1: string);
var
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
i, j: integer;
filename: string;
aa:array [0..20] of string;
begin
filename :=sName+type1;
if fileexists(filename) then
deletefile(filename);
try
ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
Application.Messagebox('Excel not install!', 'Data Export', MB_ICONERROR + mb_Ok);
Abort;
end;
try
ExcelApplication1.Workbooks.Add(EmptyParam, 0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
for j := 0 to query.FieldCount - 1 do //
begin
aa[j]:=query.Fields[j].DisplayLabel;
ExcelWorksheet1.Cells.item[1, j + 1] :=aa[j];
ExcelWorksheet1.Cells.item[1, j + 1].font.size := '10';
end;
query.First;
for i := 2 to query.RecordCount + 1 do
begin
for j := 0 to query.FieldCount - 1 do //
begin
ExcelWorksheet1.Cells.item[i, j + 1] :=query.Fields[j].Asstring;
ExcelWorksheet1.Cells.item[i, j + 1].font.size := '10';
end;
query.Next;
end;
query.First;
ExcelWorksheet1.Columns.AutoFit;
ExcelWorksheet1.SaveAs(filename);
Application.Messagebox(pchar('Export success!' ), 'Data Export',mb_Ok);
finally
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
end;
end;
 
不管何种方法 楼主要注意Excel单个工作页的最大行数是65536
 
http://www5.skycn.com/soft/29751.html
QQ:292044357
 
后退
顶部