将DBGrid中的导出时间导出到Excel OLE

时间:2013-06-09 02:20:59

标签: excel delphi time export ole

我的项目有问题。 我想将dbgrid中的数据导出为ex​​cel with ole。

当我将包含时间(格式短时间hh:mm)的字段导出为ex​​cel时,它在excel中显示为长日期格式(MM / dd / yyyy h:mm:ss AM / PM)。

我想要的是它仍然在excel中显示短时格式(hh:mm)

我在编码时将数字格式设置为hh:mm,但仍以长日期格式显示。

ADOQuery1.First;
x:=1;
while not ADOQuery1.Eof do
begin
  for i:=0 to DBGrid1.FieldCount-1 do
    begin
      XlSheet.cells[2+x,i+1].value:=DBGrid1.Fields[i].Text;
      XlSheet.cells[2+x,i+1].Borders.Weight:=xlThin;
      XlSheet.cells[2+x,i+1].Font.Size:=10;
    end;
    ADOQuery1.Next;
    Inc(x);
  end;
XlSheet.Columns[8].NumberFormat:='hh:mm;@';

我正在使用数据库访问,该字段的数据类型是日期/时间和短时格式。 对不起,我的英语不好。 谢谢。 :d

1 个答案:

答案 0 :(得分:0)

不要使用字符串来指定日期或数字值

更改

XlSheet.cells[2+x,i+1].value:=DBGrid1.Fields[i].Text;

XlSheet.cells[2+x,i+1].value:=DBGrid1.Fields[i].Value;