利用下面的代码导出数据到excel,有时候导出成功,有时报错ole error 800ac472
请问如何解决?ADOStoredProc_outexcel.First;
  try
  for i := 1 to ADOStoredProc_outexcel.RecordCount do begin
    ExcelWorksheet1.Cells.Item[i + 4, 1] := inttostr(i);
    ExcelWorksheet1.Cells.Item[i + 4, 2] := ADOStoredProc_outexcel.FieldByName('name').AsString;
    ExcelWorksheet1.Cells.Item[i + 4, 3] := ADOStoredProc_outexcel.FieldByName('sex').AsString;
    ADOStoredProc_outexcel.Next;
  end;

解决方案 »

  1.   

    建议用ExcelQueryTable控件
    http://community.csdn.net/Expert/topic/3532/3532580.xml?temp=.4720575
      

  2.   

    ADOStoredProc_outexcel.First;
      try
      for i := 1 to ADOStoredProc_outexcel.RecordCount do begin
        ExcelWorksheet1.Cells.Item[i + 4, 1] := inttostr(i);
        ExcelWorksheet1.Cells.Item[i + 4, 2] := ADOStoredProc_outexcel.FieldByName('name').AsString;
        ExcelWorksheet1.Cells.Item[i + 4, 3] := ADOStoredProc_outexcel.FieldByName('sex').AsString;
        ADOStoredProc_outexcel.Next;
      end;一般循环提倡用
    while not do
    begin
    end