读书人

delphi导出Excel日期格式有关问题?

发布时间: 2012-05-27 05:42:30 作者: rapoo

delphi导出Excel日期格式问题??
我用delphi第三方控件DataSetToExcel把查询结果从Oracle导出到Excel
查询结果为:
合同编号楼层单元开始日期结束日期最后付款日期
A128991G1GS04101-04-201230-04-201230-04-2012
A12902151500901-04-201230-04-201215-04-2012
A129071111005B01-04-201230-04-201230-04-2012
A129081111001J01-04-201230-04-201230-04-2012
A12911151504501-04-201230-04-201230-04-2012
A12911151504501-04-201230-04-201230-04-2012

当使用控件导出到Excel时,日期格式就变成了
A1248213130914/1/201230/04/2012
A1248313130924/1/201230/04/2012
A124891313104A4/1/201230/04/2012
A124901313104B4/1/201230/04/2012
A1249113131054/1/201230/04/2012
A1249413131094/1/201230/04/2012

不仅是日期格式和日期都不正确了,有朋友遇到这样的问题吗?如何解决?




[解决办法]
设置一下系统时间格式,跟这个有关系,我遇到过
[解决办法]
把DataSetToExcel的代码找出来,把日期字段汇出时都转换成文本就行了。
[解决办法]

Delphi(Pascal) code
j=1while not FDataSet.Eof dobegin  for i := 1 to FDataSet.FieldCount do  begin    if (i=2)or(i=3) then //假设第二三列是日期字段      Sheet.Cells[j,i] := ''''+FormatDateTime('dd-MM-yyyy', FDataSet.Fields[i-1].AsDateTime);  // 这里不是两个双引号 是 四个单引号 表示添加一个单引号    StepProgress;  end;  FDataSet.Next;  Inc(j);end; 

读书人网 >.NET

热点推荐