嗨 領航天使 You received the following message from : suda ( suda777@pchome.com.tw
) At: http://delphi.ktop.com.tw/ 沒有地方回應你,只好用這個
開了新檔後,visable=true再存或轉完再給檔名不然excel為inc(fieldname) procedure DBGrid2Excel(DBGrid:TDBGrid;ExcelFileName:string);
var MyExcel: Variant;
x,y:integer;
begin
deletefile(ExcelFileName);
MyExcel := CreateOleOBject(Excel.Application);
MyExcel.WorkBooks.Add;
MyExcel.Visible := True;
MyExcel.WorkBooks[1].Saveas(ExcelFileName);
// MyExcel.WorkBooks.Add(ExcelFileName);
dbgrid.DataSource.DataSet.First;
y:=1;
for x:=1 to dbgrid.FieldCount do
begin
MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] :=
dbgrid.Fields[x-1].DisplayName;
end;
inc(y);
while not dbgrid.DataSource.DataSet.eof do
begin
for x:=1 to dbgrid.FieldCount do
begin
MyExcel.WorkBooks[1].WorkSheets[1].Cells[y,x] :=
dbgrid.Fields[x-1].AsString;
end;
inc(y);
dbgrid.DataSource.DataSet.next;
end;
// MyExcel.WorkBooks[1].Close; end; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~