定义变量:
ExcelApp:TExcelApplication;//用来连接Excel应用程序
ExcelWkbook:TExcelWorkbook;//工作薄
ExcelWksheet:TExcelWorksheet;//Excel数据表
代码部分
begin
ExcelApp:=TExcelApplication.Create(Application);//创建Excel应用
ExcelWkbook:=TExcelWorkbook.Create(Application);//创建工作薄
ExcelWksheet:=TExcelWorksheet.Create(Application);//创建工作表
ExcelApp.Connect; //连接Excel应用程序
excelapp.Visible[0]:=true;
ExcelApp.WorkBooks.Open('e:\delphi\Nomalexcelbook1.xls',EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0); //打开文件
ExcelApp.ActiveWorkbook; //设置活动工作簿
Excelapp.ActiveSheet; //设置活动工作表
ExcelWkbook.ConnectTo(ExcelApp.Workbooks[1]); //工作簿与Excel应用程序连接
ExcelWksheet.ConnectTo(ExcelWkbook.Worksheets[1] as _worksheet); //工作表与工作簿连接
AdoQuery1.First;
for j:=0 to AdoQuery1.Fields.Count-1 do // 先写字段名
begin
ExcelWksheet.Cells.item[1,j+1]:=AdoQuery1.Fields[j].Dis playLabel; // Cells对象:表示工作表的一个单元格。
ExcelWksheet.Cells.item[1,j+1].font.size:=10;
end;
for i:=2 to AdoQuery1.RecordCount+1 do // 一共要读AdoQuery1.RecordCount-1条记录
begin
for j:=0 to AdoQuery1.Fields.Count-1 do
begin
ExcelWksheet.Cells.item[i,j+1]:=AdoQuery1.Fields[j]. Asstring; //写入记录
end;
AdoQuery1.Next;
end;
ExcelWksheet.Columns.AutoFit; //列自适应
ExcelWksheet.SaveAs('e:\delphi\'+edit1.text); //按用户提供的文件名保存文件
ExcelApp.Disconnect;
buttonCreate.Enabled:=false;
end;
链接数据库
begin
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\delphi\xsxx.MDB;Persist Security Info=FALSE';
adoconnection1.Open;
ADOQuery1.Connection:=ADOConnection1;
AdoQuery1.SQL.Text:='Select * from xscjb';//可以选择表进行多表查询
AdoQuery1.Active:=True ;
DataSource1.DataSet:=AdoQuery1;
ButtonCreate.Enabled:=false;
end;
释放代码
begin
ExcelApp.Quit;
ExcelApp.Free; //释放变量
ExcelWkbook.Free; //释放变量
ExcelWksheet.Free;// 释放变量
end;
请发表评论