eclApp := CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');我不知道该如何释放掉eclApp 和WorkBook

解决方案 »

  1.   

    eclApp := CreateOleObject('Excel.Application');
    WorkBook :=CreateOleObject('Excel.Sheet');
    eclApp.Quit;
    WorkBook.Close;
    eclApp:=varNull;
    WorkBook:=varNull;
      

  2.   

    这样
      finally
        Exappl.Disconnect ;
        Exappl.Quit ;
        Exwork.Free;
        Exshee.Free;
        Exappl.Free;
      

  3.   

    这是导出的var
      Exappl:Texcelapplication;
      ExWork:TexcelWorkbook;
      Exshee:TexcelworkSheet;
      i,j:integer;
    begin
      if mainform.log_pd_cli <> 'AL' then
      begin
        application.MessageBox('您的权限不允做这个操作!','权限限制',mb_ok+mb_iconinformation);
        exit;
      end;
      try
        try
          Exappl:=TexcelApplication.Create(application);
          Exwork:=Texcelworkbook.Create(application);
          Exshee:=Texcelworksheet.Create(application);
          exappl.Connect ;
        except
          messagedlg('您的系统还没有安装Excel,请安装!!',mtError,[mbOK],0);
          exit;
        end;
        if cmsavedialog.Execute then
          begin
            Exappl.Workbooks.Add(EmptyParam,0);
            Exwork.ConnectTo(exappl.Workbooks[1]);
            Exshee.ConnectTo(exwork.Worksheets[1] as _worksheet);
            cmsql.First ;
            for j := 0 to cmsql.FieldCount -1 do
             Exshee.Cells.Item[1,j+1]:=cmsql.Fields[j].DisplayName ;
            for i := 0 to cmsql.RecordCount  -1 do
              begin
                for j := 0 to cmsql.FieldCount -1 do
                  begin
                    exshee.Cells.Item[i+2,j+1]:=cmsql.Fields[j].DisplayText;
                  end;
                cmsql.Next ;
              end;
            Exshee.SaveAs(cmsavedialog.FileName);
            messagedlg('数据导出完毕',mtwarning,[mbok],0);
          end;
      finally
        Exappl.Disconnect ;
        Exappl.Quit ;
        Exwork.Free;
        Exshee.Free;
        Exappl.Free;
      end;
      

  4.   

    eclApp.Quit;
    eclApp:=UnAssigned;