delphi 导出 dbgrid的数据 excel word都可以 最好 简单一点

 我来答
sirouszlh
2014-09-13 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:643万
展开全部
用dbgrideh更好些 导出excel也方便些

非要用 dbgrid 那就用我抄袭来的函数

procedure DBGridInFoToExcel(FileName, TitleCaption: string;
MakeDataSource: TDataSource; makeDBGrid: TDBGrid);
var
xlApp, xlSheet, szValue: Variant;
ARow, iLoop: word;
begin
xlApp := CreateOleObject('Excel.Application');
try
xlSheet := CreateOleObject('Excel.Sheet');
xlSheet := xlApp.WorkBooks.Add;
// 表格标题
for iLoop := 0 to makeDBGrid.Columns.Count - 1 do
xlSheet.WorkSheets[1].Cells[1, iLoop + 1] := makeDBGrid.Columns[iLoop].Title.Caption;
// 数据
ARow := 2;
with MakeDataSource.DataSet do
begin
DisableControls;
First;
while not Eof do
begin
for iLoop := 0 to Fields.Count - 1 do
begin
szValue := Fields[iLoop].Value;
xlSheet.WorkSheets[1].Cells[ARow, iLoop + 1] := szValue;
end;
inc(ARow);
Next;
end;
First;
EnableControls;
end;
try
xlSheet.SaveAs(FileName);
Application.MessageBox('导出完毕!', '提示', MB_IconExclamation);
finally
xlSheet.Close;
xlApp.Quit;
xlApp := UnAssigned;
end;
except
Application.MessageBox('本机没有安装Excel.', '错误', MB_OK);
end;
end;

//调用:
//参数1:导出Excel的文件名称
//参数2:Excel的第一行标题(本例代码中去掉了这个功能,所以传空)
//参数3:与DBGrid连接的DataSouce
//参数4:要导出的DBGrid
DBGridInFoToExcel(AFileName, '', ADataSource, DBGrid1);
追问
DBGridInFoToExcel 在events里面没有找到 请问在哪里呀?
追答
这个是自定义的函数啊 不是自带的 我上面写了啊
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式