procedure TForm_tj_dkhgzqk.OuttoExcel;
var
  ExcelApplication1: TExcelApplication;
  ExcelWorkbook1: TExcelWorkbook;
  ExcelWorksheet1: TExcelWorksheet;
  i,j:integer;
  reportname: string;
begin
  try
    ExcelApplication1 := TExcelApplication.Create(Application);
    ExcelWorkbook1 := TExcelWorkbook.Create(Application);
    ExcelWorksheet1 := TExcelWorksheet.Create(Application);
    ExcelApplication1.Connect;
  except
    Application.Messagebox('对不起,你的计算机上还没有安装 Excel !'+chr(13)+'数据无法导出到 Excel 文件!',' 系统提示', MB_ICONERROR + mb_Ok);
    Abort;
  end;
  try
    ExcelApplication1.Workbooks.Add(EmptyParam,0);
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
    ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
    query1.First;
    for j := 0 to query1.Fields.Count - 1 do
      begin
        ExcelWorksheet1.Cells.item[3,j+1]:=query1.Fields[j].DisplayLabel;
        ExcelWorksheet1.Cells.item[3,j+1].font.size:='10';
      end;
    for i := 4 to query1.RecordCount + 3 do
      begin
        for j := 0 to query1.Fields.Count-1 do
          begin
            ExcelWorksheet1.Cells.item[i,j+1] :=
                query1.Fields[j].Asstring;
            ExcelWorksheet1.Cells.item[i,j+1].font.size :='10';
          end;
        query1.Next;
      end;
    ExcelWorksheet1.Columns.AutoFit;
    ExcelWorksheet1.Cells.item[1,2]:= caption;
    ExcelWorksheet1.Cells.Item[1,2].font.size :='14';
    if SaveDialog1.Execute then
    begin
    reportname:=SaveDialog1.FileName;
    ExcelWorksheet1.SaveAs(reportname);
    Application.Messagebox(pchar('您的数据已经成功导出到:'+chr(13)+chr(13)+ reportname),' 系统提示',mb_Ok);
    end
    else
    Abort;
  //  ExcelWorksheet1.SaveAs(reportname);
  //  Application.Messagebox(pchar('您的数据已经成功导出到:'+chr(13)+chr(13)+ reportname),' 系统提示',mb_Ok);
    finally
    ExcelApplication1.Disconnect;
    ExcelApplication1.Quit;
    ExcelApplication1.Free;
    ExcelWorksheet1.Free;
    ExcelWorkbook1.Free;
  end;end;

解决方案 »

  1.   

    ExcelApp.Cells[Row,Col].NumberFormatLocal := '@';
    这样就可以把所有数据当作字符来处理,就不会出现这样的问题了。
      

  2.   

    TheExcel.Cells[1,1].NumberFormatLocal := '@'
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]