- uses ComObj
- 如果你用DBGrid把数据显示出来,不管你用什么数据库,都可以导出到Excel表里!
- uses ComObj;
- procedure TSearchinforfrm.Button11Click(Sender: TObject);
- var
- eclApp,WorkBook:olevariant;
- xlsFileName:string;
- i,j:integer;
- begin
- if SaveDialog1.Execute then
- xlsFileName:=SaveDialog1.FileName;
- try
- eclApp:=CreateOleObject('Excel.Application');
- WorkBook:=CreateOleObject('Excel.Sheet');
- except
- Application.MessageBox('系统没有安装Microsoft Excel','Microsoft Excel',MB_OK+MB_ICONWarning);
- Exit;
- end;
- try
- WorkBook:=eclApp.workbooks.Add;
- for i:=0 to DBGrid1.Columns.Count-1 do
- begin
- //这里可以更改列名,用if ... then进行判断和指定列名
- eclApp.Cells(1,i+1):=DBGrid1.Columns[i].FieldName;
- end;
- DBGrid1.DataSource.DataSet.First;
- j:=2;
- while not DBGrid1.DataSource.DataSet.Eof do
- begin
- for i:=0 to DBGrid1.DataSource.DataSet.FieldCount-1 do
- begin
- eclApp.Cells(j,i+1):=DBGrid1.DataSource.DataSet.Fields[i].Value;
- end;
- DBGrid1.DataSource.DataSet.Next;
- inc(j);
- end;
- WorkBook.SaveAS(xlsFileName);
- WorkBook.close;
- except
- ShowMessage('文件导出失败!');
- Exit;
- end;
- Application.MessageBox('保存成功!','恭喜',MB_OK + MB_ICONINFORMATION);
- end;
DBGridEh和dbgrid导出
最新推荐文章于 2023-04-04 22:53:59 发布