生成EXCEL文件 ( 积分: 50 )

  • 主题发起人 主题发起人 dingzz
  • 开始时间 开始时间
D

dingzz

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样把报表文件生成EXCEL格式的文件
 
方法很多
方法一:
procedure TF_cx.Excel1Click(Sender: TObject);
var
ss,ss1:string;
excelapp,workbook:variant;
xlsfilename,da1,da2,da3,da4:string;
i,j:integer;
begin
/////////////////////////////////
xlsfilename:='ex.els';
try
excelapp:=CreateOleObject('Excel.Application');
workbook:=CreateOleobject('Excel.Sheet');
except
Messagedlg(#13+'你的计算机未安装 EXCEL',mtinformation,[mbok],0);
EXIT;
end;

TRY
//1) 打开Excel
ExcelApp := CreateOleObject( 'Excel.Application' );

//3) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
//4) 添加新工作簿:
ExcelApp.WorkBooks.Add;
//5) 给单元格赋值:

ExcelApp.cells(1,1):=dbgrid1.Columns[0].Title.caption;
ExcelApp.cells(1,2):=dbgrid1.Columns[1].Title.caption;
ExcelApp.cells(1,3):=dbgrid1.Columns[2].Title.caption;
ExcelApp.cells(1,4):=dbgrid1.Columns[3].Title.caption;
datam.ADOQuery2.First;
while not datam.ADOQuery2.Eof do
begin ////取记录
da1:=datam.ADOQuery2.fieldbyname('工号').asstring;
da2:=datam.ADOQuery2.fieldbyname('登录时间').asstring;
da3:=datam.ADOQuery2.fieldbyname('退出时间').asstring;
da4:=datam.ADOQuery2.fieldbyname('操作项').asstring;
i:=i+1;
ExcelApp.cells(i,1):=da1;
ExcelApp.cells(i,2):=da2;
ExcelApp.cells(i,3):=da3;
ExcelApp.cells(i,4):=da4;
datam.ADOQuery2.next;
end;
//2) 显示当前窗口:
ExcelApp.Visible := True;
except
Messagedlg(#13+'不能正确操作Excel文件。可能是该文件已被其他程序打开,' +
'或系统错误。',mtinformation,[mbok],0);
WorkBook.close;
ExcelApp.Quit;
//释放VARIANT变量
ExcelApp:=Unassigned;
end;
end;

方法二.利用第三方控件GRIDEH
 
接受答案了.
 
后退
顶部