我在delphi里面查询出的内容要导出到excel,现在遇到了一个问题,我的dbgrid有货物规格那一列,但是如果货物规格是分数,比如1/2,那导出到excel后就会自动变换为日期,显示成了1月2日,不知道有没有什么方法杜绝这种情况发生,下面是我导出excel的代码。procedure TDataM_Pub.ExportToExcel(DBGridEh:TDBGridEh;Savedialog:TSaveDialog;filename:string);
var
  str:string;
  i,j:Integer;
  excelapp,sheet:Variant;
begin
  if SaveDialog.Execute then
  begin
    str:='';
    DBGridEh.DataSource.DataSet.DisableControls; //关闭数据集连接
    for  i:=0  to  DBGridEh.DataSource.DataSet.FieldCount-1  do //i从0到DBGrid列数-1
    begin
      str:=str+DBGridEh.DataSource.DataSet.fields[i].DisplayLabel+char(9);//excel第一行为DBGrid字段名
    end;
    str:=str+#13;
    DBGridEh.DataSource.DataSet.First;
    while  not(DBGridEh.DataSource.DataSet.eof)  do //当数据集没有到最后一行
    begin
      for i:=0 to DBGridEh.DataSource.DataSet.RecordCount-1 do//从0到数据集的记录数-1
      begin
        for  j:=0  to  DBGridEh.DataSource.DataSet.FieldCount-1  do//i从0到数据集的字段数-1
        begin
          str:=str+DBGridEh.DataSource.DataSet.Fields[j].AsString+char(9);//字符串添加字段值
        end;
        str:=str+#13;
        DBGridEh.DataSource.DataSet.next;
        Application.ProcessMessages;
      end;    end;//end  while    DBGridEh.DataSource.DataSet.EnableControls;    clipboard.Clear;//清空剪切板
    Clipboard.Open; //打开剪切板
    Clipboard.AsText:=str;//粘贴到剪切板
    Clipboard.Close;
    excelapp:=createoleobject('excel.application');//创建excel表
    excelapp.workbooks.add(1);  //  excelapp.workbooks.add(-4167);
    sheet:=excelapp.workbooks[1].worksheets[1];
    sheet.name:='sheet1';
    sheet.paste;
    Clipboard.Clear;
    Sheet.rows[1].font.color:=clred;
    //      sheet.columns.font.Name:='宋体';
    //      sheet.columns.font.size:=9;
    //sheet.Columns.AutoFit;
    //excelapp.visible:=true;
    sheet.saveas(SaveDialog.FileName);
    excelapp.quit;
    excelapp:= unassigned;
  end;
end;