DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: KfnqDuxw
今日帖子: 8
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 cjg98821 (hellow) ★☆☆☆☆ -
盒子活跃会员
2004/4/28 10:17:42
标题:
导出excel? 浏览:1256
加入我的收藏
楼主: procedure ToExcel(DBGrid:TDBGrid);
var
  ExcelApp: Variant;
  i,j,k:integer;
  FileName:string;
  DlgSave:TsaveDialog;
Begin
  DlgSave:=TsaveDialog.Create(nil);
  DlgSave.Filter:='*.xls|*.xls';
  if DlgSave.Execute then
  Begin
    application.ProcessMessages;
    Filename:=DlgSave.FileName;
    ExcelApp := CreateOleObject( 'Excel.Application' );

编译到这名句话时出现“undelcared identifier:createoleobject”
这个问题怎么解决?
----------------------------------------------
因为笨,所以问!
作者:
男 minche (异杰) ★☆☆☆☆ -
盒子活跃会员
2004/4/28 10:28:50
1楼: 要在uses中加上comobj单元
----------------------------------------------
-和大家一起学习,一起进步!!!
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/4/28 10:50:15
2楼: yes
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 endo (燕子帝国) ★☆☆☆☆ -
盒子活跃会员
2004/4/28 11:00:40
3楼: 我是这样实现的
//导出数据到Excel
procedure ToExcel(DBGrid:TDBGrid);
var
  ExcelApp: Variant;
  i,j,k:integer;
  FileName:string;
  DlgSave:TsaveDialog;
Begin
  DlgSave:=TsaveDialog.Create(nil);
  DlgSave.Filter:='*.xls|*.xls';
  if DlgSave.Execute then
  Begin
    application.ProcessMessages;
    Filename:=DlgSave.FileName;
    ExcelApp := CreateOleObject( 'Excel.Application' );
    ExcelApp.Caption :='能创监控系统日志数据';//'Microsoft Excel';
    ExcelApp.WorkBooks.Add;
    application.ProcessMessages;
    ExcelApp.WorkSheets[1].Activate;
    K:=1;
    For i:=0 To DBGrid.Columns.Count-1 Do
    Begin
      if DBGrid.Columns[i].Visible Then
      Begin
        ExcelApp.Cells[1,K]:=DBGrid.Columns[i].Title.Caption;
        k:=k+1;
      End;{if}
    End;{for}
    ExcelApp.rows[1].font.name:='宋体';
    ExcelApp.rows[1].font.size:=10;
    ExcelApp.rows[1].Font.Color:=clBlack;
    ExcelApp.rows[1].Font.Bold:=true;
    j:=1;
    For i:=0 To DBGrid.Columns.Count-1 Do
    Begin
      If DBGrid.Columns[i].Visible Then
      Begin
        ADOQuery_DB.First;
        for k:=1 To ADOQuery_DB.RecordCount-1 Do
        Begin
          ExcelApp.Cells[K+1,j]:=ADOQuery_DB.FieldByName(DBGrid.Columns[i].FieldName).Asstring;
          ADOQuery_DB.Next;
        End;{for}
      j:=j+1;
    End;{if}
    End;{for}
    For I:=1 To ADOQuery_DB.recordcount Do
    ExcelApp.rows[i].Font.SIZE:=9;
    ExcelApp.Columns.AutoFit;
    ExcelApp.ActiveWorkBook.SaveAs(FileName);
    ExcelApp.WorkBooks.Close;
    Application.MessageBox('数据导出成功....','数据导出',0);
    ExcelApp.Quit;
    ExcelApp:=Unassigned;
    DlgSave.Destroy;
  End;
end;

----------------------------------------------
『惠安人才网』 www.harcw.net
作者:
女 yinjun81 (小香菌) ★☆☆☆☆ -
普通会员
2004/4/28 15:29:33
4楼: 收起来,学习
----------------------------------------------
小虾米
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行68.35938毫秒 RSS