真的好急请高手赐教如何使用delphi 中servers 中的各组件

解决方案 »

  1.   

    举个我学习使用Excel组件的时候自己做的一个简单的例子
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Excel2000, OleServer, DB, ADODB;type
      TForm1 = class(TForm)
        ExcelApplication1: TExcelApplication;
        ExcelWorksheet1: TExcelWorksheet;
        ExcelWorkbook1: TExcelWorkbook;
        OpenDialog1: TOpenDialog;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Edit1: TEdit;
        ADOQuery1: TADOQuery;
        Button4: TButton;
        ComboBox1: TComboBox;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure ComboBox1DropDown(Sender: TObject);
        procedure ComboBox1Change(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      tmp_worksheet:_WorkSheet;
    begin
      try
        ExcelApplication1.Connect;
      except
      end;
      ExcelApplication1.Visible[0]:=true;
      //增加一个workbook
      ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
      try
        tmp_worksheet:=ExcelWorkbook1.Worksheets.add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
        ExcelWorksheet1.ConnectTo(tmp_worksheet);
      except
        showmessage('失败!');
      end;end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      try
        ExcelApplication1.Quit;
        ExcelWorksheet1.Disconnect;
        ExcelWorkbook1.Disconnect;
        ExcelApplication1.Disconnect;
      except
      end;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
        ExcelWorksheet1.Cells.Item[2,2]:= edit1.Text;
        edit1.Text:=copy(ExcelWorksheet1.Cells.Item[2,2],2,4);
        ExcelWorkSheet1.Range['A1','C1'].Select; 
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
        if OpenDialog1.Execute then
        begin
            try
                ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Open(OpenDialog1.FileName,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
                ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
            except
                on exception do
                begin
                    showmessage('asdas!');
                    ExcelApplication1.Quit;
                    ExcelWorksheet1.Disconnect;
                    ExcelWorkbook1.Disconnect;
                    ExcelApplication1.Disconnect;
                end;
            end;
        end;
    end;procedure TForm1.ComboBox1DropDown(Sender: TObject);
    var
        i:integer;
    begin
        ComboBox1.Clear;
        if ExcelApplication1.Workbooks.Count > 0 then
        begin
            For i:=1 to ExcelApplication1.Workbooks.Count do
            Combobox1.Items.Add(ExcelApplication1.Workbooks.Item[i].Name);
        end;
    end;procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
        ExcelWorkSheet1.Disconnect;
        ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Item[Combobox1.ItemIndex+1]);
        ExcelWorkBook1.Activate;
        ExcelWorksheet1.ConnectTo(ExcelWorkBook1.ActiveSheet as _WorkSheet);
        ExcelWorkSheet1.Activate;
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      try
        ExcelApplication1.Quit;
        ExcelWorksheet1.Disconnect;
        ExcelWorkbook1.Disconnect;
        ExcelApplication1.Disconnect;
      except
      end;
    end;end.
      

  2.   

    // 我也来一个uses
        ..... ComObj,  Excel2000, OleServer, Word2000 ;.....
    Var
          ExlApp : TExcelApplication ;
          ExlBook : TExcelWorkBook ;
          ExlSheet : TExcelWorkSheet ;
          i : Integer ;
    begin
          // 创建 Excel 服务器控件
          ExlApp := TExcelApplication.Create(nil);
          ExlBook := TExcelWorkBook.Create (nil);
          ExlSheet := TExcelWorkSheet.Create (nil) ;      // 连接 Excel 服务器
          Try
             ExlApp.Connect ;
          Except
             ShowMessage ('连接失败,可能没装 Excle') ;
             Abort ;
          End ;
          // 从模板 Excl.Xlt 新建一 Excel 文档
          ExlApp.Workbooks.Add('C:\Excel.Xlt',1) ;
          // ExlBook 连接到 Excel 文件(C:\Excel.Xlt)
          ExlBook.ConnectTo(ExlApp.Workbooks[1] );
          ExlSheet.ConnectTo(ExlBook.Worksheets[1] As _WorkSheet );      // 对单元格进行赋值
          For i:=6 To 10 Do
          Begin
                ExlSheet.Cells.Item[i,1]:= Random(10000) ;      End ;      // 保存 和 打印预
          If FileExists('C:\aa.Xls') Then DeleteFile('C:\aa.Xls');
          ExlSheet.SaveAs('C:\aa.Xls');
          ExlApp.Visible[0] := True ;
          ExlApp.Caption := '打印预览' ;
          ExlSheet.PrintPreview ;      ExlApp.Disconnect ;  // 断开与 Excel 服务器的连接
          ExlApp.Quit ; //  关闭 Excel 服务器////WordVar
         WordApp : TWordApplication ;
         WordDoc : TWordDocument ;
         Emp, Temp : OleVariant ;begin
         WordApp := TWordApplication.Create(nil);
         WordDoc := TWordDocument.Create(nil);
         Try
            WordApp.Connect ;
         Except
            ShowMessage ('Shall Not Word Be Installed !') ;
            Abort ;
         End ;
         WordApp.Visible := True ;     // 新建一 Word 文档  WordDoc指向该文档
         Emp := EmptyParam ;
         Temp := False ;
         WordApp.Documents.Add(Emp,Temp,Emp,Emp) ;
         Temp := 1 ;
         WordDoc.ConnectTo(WordApp.Documents.Item(Temp) ) ;     //WordDoc
         //WordApp.Disconnect ;
         //wordApp.Quit ;
      

  3.   

    工程文件:
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.还有,你有没有装Excel啊
      

  4.   

    我装了,可是提示我说找不到excel2000.pas不知道为什么,是不是要导入类库呀
      

  5.   

    ext := uppercase(ExtractFileExt(str1));
       if (ext = '.XLS') then
       begin
       try
       ExcelApp:=CreateOleObject('Excel.Application');
    ExcelApp.Visible:=True;
    except begin
       application. Messagebox('您的机器里未安装Microsoft Excel!','aa',MB_iconasterisk );
       abort;
    end;
    end;
    ExcelApp.workbooks.add(str1);   end
       else
       begin
    filename:=str1;
    ConfirmConversions := False;
    ReadOnly := False;
    AddToRecentFiles := False;
    PasswordDocument := '';
    PasswordTemplate := '';
    Revert := True;
    WritePasswordDocument := '';
    WritePasswordTemplate := '';
    Format := wdOpenFormatDocument;wordapplication1.Visible:=true;
        
        try
      WordApplication1.Documents.Open(Filename,ConfirmConversions,ReadOnly,AddToRecentFiles, PasswordDocument, PasswordTemplate,Revert, WritePasswordDocument, WritePasswordTemplate,EmptyParam ,EmptyParam,EmptyParam);
           except begin
               Application.MessageBox('请检查文档是否能用WORD打开!','aa',MB_iconasterisk);
              abort;
           end;
           end;
    //Assign WordDocument component      ;
    ItemIndex := 1;
    WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));{Turn Spell checking of because it takes a long time if enabled and slows down Winword}
    WordApplication1.Options.CheckSpellingAsYouType := False;
    WordApplication1.Options.CheckGrammarAsYouType := False;wordapplication1.Activate ;
      

  6.   

    comobj是不是要用到自动化的部分呀,我没用过,请指教。
      

  7.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComObj, StdCtrls;type
      TForm1 = class(TForm)
    ......如上在 uses 部分中加入 comobj 就行了
    var
      Form1: TForm1;
      ExcelApp: Variant;
    ....procedure TForm1.Button1Click(Sender: TObject);begin
      ExcelApp := CreateOleObject('Excel.Application');
      ExcelApp.WorkBooks.Open( 'C:\book.xls' );......