方法很多
方法一:
procedure TF_cx.Excel1Click(Sender: TObject);
var
ss,ss1:string;
excelapp,workbook:variant;
xlsfilename,da1,da2,da3,da4:string;
i,j:integer;
begin
/////////////////////////////////
xlsfilename:='ex.els';
try
excelapp:=CreateOleObject('Excel.Application');
workbook:=CreateOleobject('Excel.Sheet');
except
Messagedlg(#13+'你的计算机未安装 EXCEL',mtinformation,[mbok],0);
EXIT;
end;
TRY
//1) 打开Excel
ExcelApp := CreateOleObject( 'Excel.Application' );
//3) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
//4) 添加新工作簿:
ExcelApp.WorkBooks.Add;
//5) 给单元格赋值:
ExcelApp.cells(1,1):=dbgrid1.Columns[0].Title.caption;
ExcelApp.cells(1,2):=dbgrid1.Columns[1].Title.caption;
ExcelApp.cells(1,3):=dbgrid1.Columns[2].Title.caption;
ExcelApp.cells(1,4):=dbgrid1.Columns[3].Title.caption;
datam.ADOQuery2.First;
while not datam.ADOQuery2.Eof do
begin ////取记录
da1:=datam.ADOQuery2.fieldbyname('工号').asstring;
da2:=datam.ADOQuery2.fieldbyname('登录时间').asstring;
da3:=datam.ADOQuery2.fieldbyname('退出时间').asstring;
da4:=datam.ADOQuery2.fieldbyname('操作项').asstring;
i:=i+1;
ExcelApp.cells(i,1):=da1;
ExcelApp.cells(i,2):=da2;
ExcelApp.cells(i,3):=da3;
ExcelApp.cells(i,4):=da4;
datam.ADOQuery2.next;
end;
//2) 显示当前窗口:
ExcelApp.Visible := True;
except
Messagedlg(#13+'不能正确操作Excel文件。可能是该文件已被其他程序打开,' +
'或系统错误。',mtinformation,[mbok],0);
WorkBook.close;
ExcelApp.Quit;
//释放VARIANT变量
ExcelApp:=Unassigned;
end;
end;
方法二.利用第三方控件GRIDEH