用clipboard粘贴到excel中then print 也挺快的!

解决方案 »

  1.   

    说得好,我和你有同样的想法,先画,再打。开始我也这么想, 但我实在不会用ADO控件,理想最终变成幻想, 我最终决定自己编写一个Excel功能的报表控件,以表(数据库中的表)的格式存放,用户操作起来和用Excel一样,但它是我编的,以后编写打印程序,自然随心所欲了。你想要这个控件吗? 我可以发给你。
      

  2.   

    GuangQingYang(光青阳) ,能不能把你的空间发给我啊
    我的Email :[email protected]
      

  3.   

      怎么没有人理我啊,在Delphi中,这确实是个很难的问题,尤其是打印
    的字段变动教大时,请各位大虾多多指教哦!!!!
      

  4.   

    GuangQingYang(光青阳) I wanna your components ..mail to me [email protected]
      

  5.   

    wangguol(小猪苯苯),你也想要这样的控件吗?
      

  6.   

    我控制EXECL 的实验代码,不知对你是否有用
    procedure TForm1.startserver(Sender: TObject);
    var
     i,J,row,column:integer;
    begin
        Try
            ExcelApplication1.Connect;
        Except
            MessageDlg('Excel may not be installed',  mtError, [mbOk], 0);
            Abort;
        End;// ExcelApplication1.Visible[0]:=True;    ExcelApplication1.Caption:='Excel Application';
        ExcelApplication1.Workbooks.Add(Null,0);
        ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
        ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);    row:=1;
        FOR j := 1 to 8 do
        begin
            column:=1;
            for i:=1 to 8 do
            begin
                ExcelWorksheet1.Cells.Item[row,column]:=j*10+i;
                column:=column+1;
            end;
        Row := Row+1;
        end; ExcelApplication1.Visible[0]:=True; {
     Table1.Open;
     row:=1;
     While Not(Table1.Eof) do
     begin
       column:=1;
       for i:=1 to Table1.FieldCount do
       begin
        ExcelWorksheet1.Cells.Item[row,column]:
    =Table1.fields[i-1].AsString;
        column:=column+1;
       end;
       Table1.Next;
       row:=row+1;
     end;
     }end;procedure TForm1.fiel1Click(Sender: TObject);
    begin
        startserver(self);
    end;procedure TForm1.printout1Click(Sender: TObject);
    begin
        ExcelWorksheet1.PrintOut;
    end;procedure TForm1.previous1Click(Sender: TObject);
    begin
        ExcelWorksheet1.PrintPreview;
    end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
        ExcelApplication1.Disconnect;
        ExcelApplication1.Quit;
    end;procedure TForm1.open1Click(Sender: TObject);
    begin
        if  OpenDialog1.Execute then
        ExcelApplication1.Workbooks.Open(OpenDialog1.FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);
    end;
      

  7.   

    ffossil() 谢谢你的代码。
    这段代码也需要把数据装载到Excell才能打印,能不能不必要把把数据装载到Excell,而
    只是用Excell设计打印的格式呢??急!!!
      

  8.   

    各位大虾,这确实是个很现实的问题呀,解决了它就为Delphi程序员做出了巨大贡献呀!
      

  9.   

    使用excel建立一个摸版,然后在delphi中
    只使用摸版来操作.
      

  10.   

    lt30(PASCAL) 能不能具体一点呀,我有急用!