你的代码一定有问题!
打开你的任务管理器,应该有一个看不到的Execl进程在运行!
正确操作Excel的步骤为:
Connect
Open
...
Disconnect
Quit

解决方案 »

  1.   

    要增加Workbooks才行:
    ExcelApplication.Workbooks.Add(null,0);
    ExcelApplication.Caption := edTitle.Text;
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
    I.Desire := '加不加分随你';
    —————————————————————————————————
           
      

  2.   

    你只运行了Excel,还没有打开文档啊。
    可以象上面那样新增一个文档,或者open已有的文档
      

  3.   

    to lxpbuaa(桂枝香在故国晚秋) 我在程序中已经加了
     excelobj := createoleobject('excel.sheet');
          excel := excelobj.application;
          excel.visible := false;
          frmhint:=tfrmhint.create(application);
          frmhint.show;
          frmhint.Animate1.Active:=true;
          workbook := excel.workbooks.add;
          except
          messagebox(getactivewindow,'无法调用mircorsoft excel! '+chr(13)+chr(10)+
                        '请检查是否安装了mircorsoft excel。','提示',mb_ok+mb_iconinformation);
          exit;
          end;
          for j:=1 to 15 do
          workbook.Sheets.Add;
          with adoquery1 do    //劳务公司1
          begin
           close;
           sql.clear;
           sql.add('select * from tb_basedep');
           open;
           while not eof do
           begin
            sheet:=workbook.sheets[i];
            writexlshead(sheet);
            sheet.name:=fieldbyname('dname').value+'0';
            sqlstr:='select rno,rname,gangwei,gongling,gangtie,wucan,baoxian,yiyao,yingfa,queqin,danbao,gebao,';
            sqlstr:=sqlstr+'kouxian,koushui,shifa,re from tb_pay'+adotable1.fieldbyname('workyear').value;
            sqlstr:=sqlstr+' where left(kno,1)=0 and dno='''+fieldbyname('dno').value+''''+' and mon='''+adotable1.fieldbyname('workmon').value+'''';
            adoquery2.close;
            adoquery2.sql.clear;
            adoquery2.sql.add(sqlstr);
            adoquery2.open;
            writexls(sheet);
            inc(i);
            next;
          end;
        end;
       //关键在这里,可是我找不到错 
       workbook.saveas(filename);
       workbook.close;
       excel.quit;
       frmhint.close;
      

  4.   

    可能是adoquery的WHERE条件出错了
    你可以试着将adoquery作为datasource1的数据源,在添加一个DBGRID,设置它的Ddatasource为datasource1,看是否有数据显示出来,看查询结果是否为空,
      

  5.   

    不是这个问题,我把另存的Excel打开,原本应该显示工作表的地方变成桌面了!!!!
      

  6.   

    以前朋友的控件,如果需要我发给你
    dbGridtoExcel
      

  7.   

    To jilongson(森)
    OK.my mail:[email protected]