delphi对ds结果集的一些方法,有返回字段数的吗?该如何解决

delphi对ds结果集的一些方法,有返回字段数的吗?
各位好:
  我在执行一个sql语句后,得到一个ds结果集,然后能不能知道这个结果集有多少个字段?
  因为我想写一个将结果集动态的写入excel的方法,各位大神,有经验的赐教一下,谢谢
  总体的方法实现的是:随意执行一个SQL语句,得到一个结果集,写入到excel里,第一行是字段名,第二行开始是结果。
  谢谢!

------解决方案--------------------
FieldCount?
fields[i].FIeldName?
------解决方案--------------------
通过循环总列数也可以取值
Fields[i].AsString //这里的是字段保存的值
------解决方案--------------------

for i:=0 to ds.FieldCount-1 do
ds.Fields[i].FieldName; //FieldName就是字段的名称
------解决方案--------------------
我觉得方法实现很简单,DS绑定一个DBgrideh,再用它的导出功能,中间可以省事很多,并且还可以省去循环和写入EXCEL的步骤,效率也就上来了~
就三句代码:
var ExpClass:TDBGridEhExportClass;

ExpClass := TDBGridEhExportAsXLS;
SaveDBGridEhToExportFile(ExpClass,TempGrid,filePath,True);--TempGrid为表格名称,filePath--为保存路径