我自己编程 把excel表导入:
v:= CreateOleObject('Excel.Application');
      v.Visible := false;
      v.Workbooks.Open(OpenDialog1.FileName);
      Sheet:= v.Workbooks[1].WorkSheets[1];
      Sheet.Cells.NumberFormatLocal:= '@';
      
      with datamodule1.T_rsk_gb_state do
      begin
         close;
         open;
         i := 1; j := 0;
         while(Sheet.Cells[i,1].value<>'')  do
         begin
            append;
            edit;            for j := 0 to 1 do
               Fields[j].AsString := trim(Sheet.Cells[i,j+1].value);
            post;
            Inc(i);
         end;
       // close;
      end
       except
      Showmessage('初始化Excel失败,可能没装Excel,或者其他错误;请重起再试。');
      v.DisplayAlerts := false;
      v.Quit;
      exit;
    end;
    Application.Restore;
    Application.BringToFront;
  end;    
end;
现在有个问题 比如说sql2000表里的 编号我预先设定是字符串 哪怕是20032319也是当字符串来使用
可excel里呢是20032319是双精度 有没有一个函数 把excel双精度(double)调成字符串再存入sql2000呢 我试过以下三种办法
inttostr是没用的 floattostr也不行 没有doubletostr这个函数
Sheet.Cells.NumberFormatLocal:= '@'; 这种办法只是你倒出时有用(预先建表) 倒入时无用
或者预先把excel表里的所有值都转化成文本(现在不想用这种办法 不想转表 ) 
  我想用 程序的办法 解决这个问题 请大家帮忙 50分