乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > delphi 7中怎么实现数据的excel导出

delphi 7中怎么实现数据的excel导出

作者:乔山办公网日期:

返回目录:excel表格制作


uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
Var FExcel :OleVariant; //excel应用程序
FWorkBook :OleVariant; //工作表
FWorksheet:OleVariant; //工作薄e799bee5baa6e79fa5e98193e59b9ee7ad94337
FPicture:OleVariant;
TmpStr:String;
begin
FExcel:= CreateoleObject('excel.Application');
FWorkBook:=FExcel.WorkBooks.Add; //新的工作表
FWorksheet:=FWorkBook.Worksheets[1];
FWorksheet.Select;

//插入图象并设置位置与大小
tmpstr:='f:\1.jpg';
FPicture:=FWorksheet.Pictures.Insert(tmpstr);
FPicture.Left:=10;
FPicture.Top:=10;
FPicture.width:=200;
FPicture.height:=200;
FPicture:=null;
FExcel.visible:=true;
end;

将DBGrid查询结果导出到Excel uses comobj; //自定义导出过程
procedure CopyToExcel(Args: array of const);
var
iCount, jCount: Integer;
XLApp: Variant;
Sheet: Variant;
I: Integer;
begin
Screen.Cursor := crHourGlass;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end; XLApp.WorkBooks.Add;
XLApp.SheetsInNewWorkbook := High(Args) + 1; for I := Low(Args) to High(Args) do
begin
XLApp.WorkBooks[1].WorkSheets[I+1].Name := TDBGrid(Args[I].VObject).Name;
Sheet := XLApp.Workbooks[1].WorkSheets[TDBGrid(Args[I].VObject).Name];
if not TDBGrid(Args[I].VObject).DataSource.DataSet.Active then
begin
Screen.Cursor := crDefault;
Exit;
end;
TDBGrid(Args[I].VObject).DataSource.DataSet.first;
for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count - 1 do
Sheet.Cells[1, iCount + 1] :=
TDBGrid(Args[I].VObject).Columns.Items[iCount].Title.Caption;
jCount := 1;
while not TDBGrid(Args[I].VObject).DataSource.DataSet.Eof do
begin
for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count -1 do
Sheet.Cells[jCount + 1, iCount + 1] :=
TDBGrid(Args[I].VObject).Columns.Items[iCount].Field.AsString;
Inc(jCount);
TDBGrid(Args[I].VObject).DataSource.DataSet.Next;
end;
XlApp.Visible := True;
end;
Screen.Cursor := crDefault;
end;
调用---------------------procedure TForm3.BitBtn1Click(Sender: TObject);
begin
copytoexcel([dbgrid1]);
end; csv的貌似通过写文档的形e799bee5baa6e79fa5e98193e4b893e5b19e334式,如下 name,age,sex张三,22,男李四,22,男...
你可以手动写一个导出函数,以后直接使用它。
//===================================================
//===================ADOQ数据导出到Excel=========
//===================================================
Procedure ADOQOutPutToExcel(MyADOQ:TADOQuery;MyDBG:TDBGrid;SaveFileName:String;Gauge:TGauge);
Var Excel,WorkBook:OleVariant;
i,j,row:integer;
Begin
//检测计算机中是否安装了Excel,是否可以建立对象
Try
Excel:=CreateOleObject('Excel.Application');
Except
Begin
Application.MessageBox('你的计算机中没有安装Excel,无法导出到Excel!','警告',0);
Exit;
end;
end;
//====将数据写入到Excel
WorkBook:=Excel.WorkBooks.Add;//建立工作簿
//==写入标题
Gauge.MaxValue :=MyDBG.Columns.Count-1;
Gauge.Progress :=0;
For i:=0 to MyDBG.Columns.Count-1 DO
Begin
Excel.Cells[1,i+1].value:=MyDBG.Columns.Items[i].Title.Caption;
Gauge.Progress :=i;
End;
Gauge.Progress :=0;
//==写入记录
Row:=2;
MyADOQ.First;
Gauge.MinValue :=0;
Gauge.MaxValue :=MyADOQ.RecordCount;
Gauge.Progress :=0;
For i:=0 to MyADOQ.RecordCount-1 DO
Begin
For j:=0 to MyDBG.Columns.Count-1 DO
Begin
Excel.cells[row,j+1].value:=MyDBG.Fields[j].Value;
end;
Inc(Row);
Gauge.Progress :=Gauge.Progress +1;
MyADOQ.Next;
End;
//==保存到文件
Try
Begin
Excel.ActiveWorkBook.SaveAs(SaveFileName);
Excel:=UnAssigned;
WorkBook.Close;
Application.MessageBox(PChar('模板创建成功!模板已成功保存到:'+#13 +SaveFileName+'.xls'),'操作提示',0);
End;
Except
Begin
Application.MessageBox('模板创建失败,指定文件可能正在使用当中,请关闭e5a48de588b67a686964616f363文件再试一次!','操作提示',0);
Exit;
End;
End;
End;
调用时:
Var ExcelFileName:String;
begin
SaveDialog1.Filter:='数据表|*.xls|';
If SaveDialog1.Execute then
Begin
ExcelFileName:=SaveDialog1.FileName;
ADOQOutPutToExcel(ADOQ_yfd,DBG_yfd,ExcelFileName,Gauge);
End;

将数据库表导出到  excel 有多种方法,大多是循环读取并输出数据库的字段名,作为 excel 表格的列标题,再循环读取各字段,输入各值。

uExportXls.pas 封装了一个导出类,使用也很简单:

1、在工程的单元636f70797a64364文件里 uses uExportXls;

2、在需要使用转换的地方,调用代码示例如下:

//功能:将数据集的数据导入Excel;
//用法1:
    With ExportXls.Create(TDataSet(ADOQuery1)) do
      Try
         Save2File(SaveDialog1.FileName, True);
      finally
         Free;
      end;
 
 //用法2:
 
 procedure TForm1.Button4Click(Sender: TObject);
 var ex:ExportXls;
 begin
   ex:=ExportXls.Create(ADOQ);
   if SaveDialog1.Execute then  ex.Save2File(SaveDialog1.FileName,TRUE);
 end;

相关阅读

  • win7 + <em>delphi</em> 7 + excel2007 不支...

  • 乔山办公网office365
  • 没用过控件操作,一般我都用ComObj自己写。看下下面的东西吧,希望能对你有帮助。(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( Excel.A
  • <em>delphi</em>控制<em>Excel</em>单元格宽,

  • 乔山办公网excel表格制作
  • 使EXCEL表格zhidao输入某些字后背景颜色也跟着改变的方法与步骤:1.打开新建的excel表格,选择整个工作表。2.打开选中工作表的格式选项。3.选择条件格式。4.选择条件格式里回面的公式
  • -delphi access excel,delphi excel

  • 乔山办公网excel表格制作
  • var sTableName : String;begin //1.用adoconnection组件链接excel,其中E_file.text中的内容是通过opendialog1.filename获得的excel文件路径 ADOcn.Close; ADOcn.ConnectionSt
  • <em>Delphi</em> CreateOLEObject使用<em>Excel

  • 乔山办公网excel表格制作
  • 对 Excel 操作有多种,如果要显示 excel 的界面,进行与用户的交互,可以使用 OleContainer 组件。可以 delphi 自带的 office 控件,进行excel 操作,这种方法的zhidao缺点在于,只能支持特定的版
关键词不能为空
极力推荐

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