0

プロジェクトで問題が発生しました。dbgrid のデータをエクスポートして、ole で Excel に出力したいと考えています。

時間を含むフィールド (形式 shorttime hh:mm) を Excel にエクスポートすると、長い日付形式 (MM/dd/yyyy h:mm:ss AM/PM) として Excel に表示されます。

私が欲しいのは、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;@';

私はデータベース アクセスを使用しており、そのフィールドのデータ型は Date/Time および ShortTime 形式です。私の悪い英語でごめんなさい。ありがとうございました。:D

4

1 に答える 1

0

文字列を使用して日付または数値を割り当てないでください。

変化する

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

XlSheet.cells[2+x,i+1].value:=DBGrid1.Fields[i].Value;
于 2013-06-09T10:11:58.110 に答える