把你在Delphi中的表格链接到EXCEL中是最佳的解决方案!
程序在后面有关嵌入WORD的问题中已经给出。

解决方案 »

  1.   

    用Quickreport 3.06版本,肯定解决问题,我用过
      

  2.   

    用Quickreport 3.06版本,delphi5的3.05有bug 
      

  3.   

    QreDBtext可以折行,把QrDBtext的AUTOStretch设为True,一切搞定!!!
      

  4.   

    QreDBtext可以折行
    QrDBtext的AUTOStretch设为True
              AutoSize设为TrueOK!?
      

  5.   

    又是折行!
    1、QrDBtext的AUTOStretch设为True,但AutoSize要设为FALSE。2、如果是中文,那么就需要在字符串里添加空格。在QR中,按照英文的书写习惯换行的,即一个单词不切为两行。那么对于中文而言就需要如下处理,如:打印“竟发现伏明霞裤子上的满满的英文竟然全是不雅文字”,你想每行最多20个字符,那么就需要如下切割:“竟发现伏明霞裤子上的 满满的英文竟然全是不 雅文字”。注意:如果你的字符串里面可能中英文、数字字母混合,需要用IsDBCSLeadByte来判断是否切了半个汉字。
      

  6.   

    Delphi5中的报表版本不行吧,好象只有3.06的可以
      

  7.   

    Qrdbtext:
     autostretch:true
     autosize:false
     wordwrap :true
    就可以自动换行了!
      

  8.   

    guoyuzhang(怒抛头颅),请发一份结我,好不好 
      

  9.   

    还是发到[email protected]吧!263信箱太小
      

  10.   

    不要用QrDBText,用QrMemo很好用!
    function divStr(Tmpstr:string; tmpInt:integer):TstringList;
    var
    i,j,k:integer;
    somelist:TStringList;
    begin
    for i := 1 to (length(tmpstr) div tmpInt+1) do
        //如果最后为汉字后半部分,那么i*tmpInt,否则i*tmpInt-1,以避免半个字符的出现
          begin
            k := 0;
            for j := 1 to i*tmpInt do
              if j <= length(tmpstr) then
                if ord(tmpstr[j]) > 126 then k := k+1;
              if (k mod 2 = 0)
                then  insert(#13#10,tmpstr,i*tmpInt-1)
                  else  insert(#13#10,tmpstr,i*tmpInt);
          end;
        somelist:=TStringList.Create;
        //somelist.Clear;
        somelist.Add(tmpstr);
        result:=somelist;
    end;
    ……QRMemo1.Lines.Clear;
    QRMemo1.Lines:=divStr(DbEdit1.Text,24);