AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EXCEL Zellen als Datum formatieren

Ein Thema von Remote1 · begonnen am 17. Nov 2008 · letzter Beitrag vom 17. Nov 2008
 
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#1

EXCEL Zellen als Datum formatieren

  Alt 17. Nov 2008, 10:18
ich habe mir folgende Procedure zusammengebastelt:

Delphi-Quellcode:
procedure ListView2Excel(Listview:TListView; pfad:string);
var
  Excel : Variant;
  name,tmp : string;
  i: integer;
begin
try
  name:='ComPort';
  Excel := CreateOleObject('Excel.Application');
  Excel.Application.SheetsInNewWorkBook := 1;
  Excel.Workbooks.Add;
  Excel.Sheets[1].Name := name ;
  Excel.ActiveSheet.PageSetup.Zoom := false;
  Excel.ActiveSheet.PageSetup.FitToPagesWide := 1;
  Excel.ActiveSheet.PageSetup.FitToPagesTall := 1;
  Excel.ActiveSheet.Cells.Range['A2','A'+inttostr(2+Listview.Items.Count)].NumberFormat:='TT.MM.JJ hh:mm:ss,000';
  Excel.ActiveSheet.Cells.Range['B2','B'+inttostr(2+Listview.Items.Count)].NumberFormat:='0,0000';

  Excel.Sheets[name].Cells[1,1].value:='Zeit';
  Excel.Sheets[name].Cells[1,2].value:='Bedeutung';
  Excel.Sheets[name].Cells[1,3].value:='Daten';
  for i := 0 to (ListView.Items.Count-1) do begin
    Excel.Sheets[name].Cells[i+2,1].value := ListView.Items.Item[i].Caption; //Zeit
    Excel.Sheets[name].Cells[i+2,2].value := ListView.Items.Item[i].SubItems.Strings[0]; //Bedeutung
    tmp:=StringReplace(ListView.Items.Item[i].SubItems.Strings[1],',','.',[rfReplaceAll]); //. ersetzen durch , da sonst Tausendertrennung bei EXCEL
    Excel.Sheets[name].Cells[i+2,3].value := tmp; //Daten
  end;
  try
    Excel.ActiveWorkbook.SaveAs(pfad, CreateBackup := false );
  except
  end;
  Excel.Quit;
except
  application.MessageBox('Es ist ein Fehler aufgetreten.'+#10#13+'Möglicherweise ist kein EXCEL installiert!','Fehler',mb_ok+mb_iconerror);
  Excel.Quit;
end;
end;
Die Formatierung als "TT.MM.JJ hh:mm:ss,000" klappt auch insoweit, dass in EXCEL bei "Zellen formatieren" dies enthalten ist. Problem ist, dass diese Formatierung nicht richtig übernommen wird, wenn ich im nachhinein bei EXCEL ein Diagramm erstellen möchte, wird nicht die korrekte Datums-Zeitangabe auf der X-Achse geliefert. Wenn ich nun in die entsprechenden Zellen "hineingehe" und wieder "heraus" (also z.B. Zelle anklicken F2 und dann ENTER), dann wird erst von EXCEL erkannt, dass es sich um Datumsangaben handelt und alles richtig formatiert. Aus diesen Daten kann ich dann auch Diagramme zeichnen lassen. Ich habe ein EXCEL-Datei auch mal angehängt. Lässt sich alles ein wenig schwierig erklären.
Ich möchte einfach nur, dass meine Daten im richtigen Format exportiert werden, ohne diese nachträglich zu bearbeiten (zum erstellen von Diagrammen).
Angehängte Dateien
Dateityp: xls test1_130.xls (18,0 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz