你的表的内容很不清晰,我无法看清楚
而且你说的好象是excel的显示吧,程序好象没有错误

解决方案 »

  1.   

    varI:intger;
     for i:=0 to dataset.fields.count-1 do 
    begin 
      exl_Sheet.Cells[1,I + 1].value:=fields[i].displaylabel;
     end ;
     
      

  2.   

    不对拉,那你可以在excel中固定表头啊
      

  3.   

    如果你是想把标题重复显示的话,可以这样啊:
      qry_hz.first;
      for J := 0 to qry_hz.RecordCount - 1 do
      begin
        for I := 0 to DBGrid1.Columns.Count - 1 do
        begin
          //先写标题
          exl_Sheet.Cells[2*J + 1,I + 1] := DBGrid1.Columns[I].Title.Caption;
          //再写记录值
          exl_Sheet.Cells[2*J + 2,I + 1] := qry_hz.Fields[I].AsString;
        end;
        qry_hz.Next;
      end;//注意把你的那段代码中的写标题的部分去掉!
      

  4.   

    我的意思是不是程序的问题,是在打开EXCEL时,表头能够固定,我不知道如何在EXCEL中固定表头
      

  5.   

    是吗?在EXCEL中有没有这个功能啊