你可以用ole 还可以调用api shellExecute

解决方案 »

  1.   

    ShellExecute(handle,null,pchar(excel.exe),null,null,SW_SHOWNORMAL);
    但是调不开呀,如果是一个cfc.exl文件,该如何调?
      

  2.   

    采用OLE嵌入技术,可以在程序中内建excel组件.
      

  3.   

    以下是我昨天写的一个将字符网格控件的内容写入EXCEL的源码,供参考:
    先在窗体上放置 opendialog1(文件打开控件,在DIALOG页中)、
    ExcelApplication1,ExcelWorkbook1,ExcelWorksheet1(这三个控件分别对应EXCEL应用、EXCEL工作薄、EXCEL工作表,控件在在SEVER页中)以下过程完成将内容输出到EXCEL。procedure Tfstat_sheng.BtnExportHymdClick(Sender: TObject);
    VAR
      i,j:integer;
    begin
      opendialog1.InitialDir:=ExtractFileDir(paramstr(0));
      opendialog1.Execute;
      Try
         ExcelApplication1.Connect;//EXCEL应用程序
      Except
         MessageDlg('Excel may not be installed',mtError, [mbOk], 0);
         Abort;
      End;
         ExcelApplication1.Visible[0]:=True;
         ExcelApplication1.Caption:='Excel Application';
      try
         excelapplication1.Workbooks.Open(opendialog1.FileName,
         null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件
      except
      begin
         ExcelApplication1.Disconnect;//出现异常情况时关闭
         ExcelApplication1.Quit;
         showmessage('请选择EXCEL电子表格!');
         exit;
      end;
      end;
      ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1与Eexcelapplication1建立连接
      ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接
      for i:=0 to stringgrid1.colcount do
      for j:=0 to stringgrid1.rowcount do
      begin
      ExcelWorksheet1.Cells.Item[j+1,i+1]:=stringgrid1.Cells[i,j];//写入内容
      end;  excelworkbook1.Save;//保存EXCEL文件
      excelworkbook1.PrintPreview;//在EXCEL中打印预览,
      excelapplication1.Quit;//关闭EXCEL
    end;