Announcement

Collapse
No announcement yet.

Datumfeld an Excel übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datumfeld an Excel übergeben

    Hallo,

    ich übergebe regelmäßig Daten aus Paradox-SQL's an Excel. Das funktioniert so weit auch ganz gut. Nur mit den DateTime-Feldern habe ich Probleme. Wie muss ich die an Excelübergeben, damit Excel sie ebenfalls als DateTime-Feld erkennt?

    <PRE>
    Excel:=CreateOleObject('Excel.Application');
    while not DataSet.EOF do
    begin
    for iSpalte:=1 to DataSet.FieldCount do
    begin
    sWert:=DataSet.Fields[iSpalte-1].AsString;

    if DataSet.Fields[iSpalte-1].DataType in [ftFloat, ftCurrency] then
    if pos(',', sWert)>0 then sWert[pos(',', sWert)]:='.'
    else if DataSet.Fields[iSpalte-1].DataType in [ftString] then
    sWert:=#39+sWert;

    Excel.Cells[iZeile+1, iSpalte].Value:=sWert;
    end;
    DataSet.next;
    inc(iZeile);
    end;
    </PRE>

    Wer kann helfen?

    Danke Gerd

  • #2
    Hallo Gerd,<BR>
    Auf jeden Fall musst Du das Format der Zelle noch festlegen.<BR>
    Wenn ich das Format in Excel ändere und per Makro aufzeichne, so liefert mir die Quelle folgendes:<BR><BR>
    Selection.NumberFormat = "m/d/yyyy"<BR><BR>
    Ich habe es allerdings noch nicht in Delphi getestet, der Syntax ist meist geringfügig anders (' für " etc.).<BR>
    Fran

    Comment


    • #3
      Hallo Gerd,<BR>
      dieses Beispiel habe ich noch in meinen Quellen gefunden!<BR><BR>
      Excel.Cells[i+1, j+1].Value := dm.mqRep.Fields[j].AsDate;<BR>
      Excel.Cells[i+1, j+1].Select;<BR>
      Excel.Selection.NumberFormat := 'm/d/yyyy';<BR><BR>
      Fran

      Comment


      • #4
        Hallo Frank,

        dein Tip hat es getroffen. Wenn ich das Datum über

        Excel.Cells[i+1, j+1].Value := dm.mqRep.Fields[j].AsDateTime;

        übergebe, brauche ich gar keine weitere Formatierung mehr. Bei 'm/d/yyyy' bringt er ein komisches Datum. Auch 'dd.mm.yyyy' hat nicht zum Erfolg geführt.

        Danke
        Ger

        Comment

        Working...
        X