AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

Ein Thema von oakley · begonnen am 19. Mai 2020 · letzter Beitrag vom 21. Jun 2020
 
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 22. Mai 2020, 19:55
Hallo,

wenn man das TMS – StringGrid (das SG von Delphi funktioniert genauso) in Excel übertragen will, benutze ich folgende Routine, das ist ein Extrakt sollte aber funktionieren:
Delphi-Quellcode:
procedure HPL_TMS_SG_nach_Excel;
var i, j:integer;
    Text: String;
    Zahl : Extended;
    Datum: TDateTime;
    olevEXCEL: OLEVariant;

begin
  try
    olevExcel := CreateOleObject('Excel.Application');
  except
    ShowMessage('Microsoft Excel kann nicht starten.');
    exit;
  end;
  olevExcel.Visible := true;
  olevExcel.Workbooks.add;
  for i:=0 to AdvStringGrid1.rowcount-1 do
  begin
    for j:=0 to AdvStringGrid1.colcount-1 do
    begin
      Text:=AdvStringGrid1.cells[j,i];
      if TryStrToFloat(Text, Zahl) then
      begin
        olevEXCEL.cells[i+1,j+1].Value2:= Zahl;
      end
      else
      begin
        if TryStrToDate(Text,Datum) then
        begin
          olevEXCEL.cells[i+1,j+1].Value2 := Datum;
        end
        else
        begin
          olevEXCEL.cells[i+1,j+1].Value2 := Text;
        end;
      end;
     end;
  end;
  // Beispiel einer Formatierung
  // Spalte 3 sind Zahlen und werden mit 2 Kommastellen und Euro Zeichen formatiert
  // Anschließend werden die Zellen rot markiert bis auf die Überschrift.
  olevEXCEL.Range['C1','C10'].NumberFormat :='_(€* #.##0,00_);_(€* (#.##0,00);_(€* ""-""??_);_(@_)';
  olevEXCEL.Range['C2','C10'].Interior.Color:= CLRED;

  Showmessage ('Stop!');
  // Hier aus EXCEL die Datei abspeichern.
  // ist nicht im Code enthalten
  if NOT VarIsEmpty(olevEXCEL) then
  begin
    olevEXCEL.ActiveWorkBook.Saved:= TRUE;
    olevEXCEL.Quit;
    olevEXCEL:= Unassigned;
  end;
end;



Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  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 16:18 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