楼主这不是自己写的吧把不要的去掉不就行了?去掉对应的表格头,for循环里去掉对应的字段。注意序号

解决方案 »

  1.   

    我做过类似的!步骤如下:
    1、肯定需要选择那些字段需要导出吧,在选择的时候设置ADOQuery.Fields[i].Tag := 1; //默认是0
       如果不选择也要重置一下ADOQuery.Fields[i].Tab := 0;2、导出时表头字段如(身份证号,姓名等)做如下判断:
       if ADOQuery.Fields[i].Tag = 1 then
              Sheet1.Cells[2,i+1] := ADOQuery.Fields[i].DisplayLabel;
       //此处DisplayLabel是事先设置的表头,如数据库中身份证号字段名称是F_IDCard,那么在显示时应该显示【身份证号】吧,这里在ADOQuery中就可以设置,具体自己找资料。3、导出具体内容时也一样,做如下判断并导出信息:
      if ADOQuery.Fields[j].Tag = 1 then
                Sheet1.Cells[i+3,j+1]:=Trim(ADOQuery.Fields[j].AsString);
       
      

  2.   

    建议使用第三方控件TXLSReadWriteII4,非常好用。