乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>delphi</em>7中怎样将dbgrid中的数据导出成excel格...-delph

<em>delphi</em>7中怎样将dbgrid中的数据导出成excel格...-delph

作者:乔山办公网日期:

返回目录:excel表格制作


导入导出Excel
合并单元格、多表头
树表结合TreeGrid
DBGrid虚拟列计算字段
自动分页打印功能
打印预览时支持鼠标拖动调整页边距、行高、列宽
支持自定义纸张大小、支持连续打印
等众多优质的功能,让EjunGrid跻身于高端表格控件之列,EjunGrid是纯Delphi表格控件,同时提供ActiveX版本,我们设计的目标是让广大软件开发者能够轻松快速开发出专业、高水准的软件产品,,使您的软件具备方便快捷的录入界面、清晰漂亮的数据显示界面、完美强大的打印预览功能、可以让您的用户在打印预览时实时方便的调整页面布局,所见即所得,操作方式与Excel完全兼容,输出的报表精美典雅

把你的邮箱给我 我又这样的模块
方法:
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;
// 表格标题e799bee5baa6e997aee7ad94e4b893e5b19e366
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);

建议用dbgrided控件,带导出功能e799bee5baa6e997aee7ad94e78988e69d83366,需要use DBGridEhImpExp 代码如下
procedure ExportGridEh(DBGridEh:TDBGridEh);
var
ExpClass:TDBGridEhExportClass;
Ext:String;
dlgsave:TSaveDialog;
begin
dlgsave:= TSaveDialog.Create(nil);
begin
dlgsave.Filter:='Microsoft Excel|*.xls|CSV (Comma delimited)|*.csv|Text|*.txt|Web' +
' Page|*.htm|Rich Text Format(RTF)|*.rft';
if not dlgsave.Execute then Exit;
case dlgsave.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
4: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
5: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(dlgsave.FileName,Length(dlgsave.FileName)-2,3)) <> UpperCase(Ext) then
dlgsave.FileName := dlgsave.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,DBGridEh,dlgsave.FileName,true);
end;
end;
end;

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网