Delphi读写EXCEL的代码

Delphi读写EXCEL的代码  

定义变量:
  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;

posted @ 2012-05-18 00:39  马儿快跑  阅读(6729)  评论(0编辑  收藏  举报