AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Excel erstellen und Formatieren

Ein Thema von Youuuu · begonnen am 17. Mai 2022 · letzter Beitrag vom 21. Mai 2022
Antwort Antwort
Youuuu

Registriert seit: 9. Okt 2016
60 Beiträge
 
Delphi 11 Alexandria
 
#1

Excel erstellen und Formatieren

  Alt 17. Mai 2022, 23:34
Guten Abend,

leider komm ich aktuell nicht weiter.

Ich will eine Excel erstellen und diese Formatieren, die Daten sind kein Problem, allerdings funktionieren sämtliche Formatierungen nicht, sei es den Text oder cell Color usw.

Delphi-Quellcode:
Begin
  Result := True;
  var aExcelApp: OleVariant := CreateOleObject('Excel.Application');
  try
    if not VarIsNull(aExcelApp) then
    begin
      var aWorkbook: OleVariant := aExcelApp.Workbooks.Add;
      var aWorksheet: OleVariant := aWorkbook.ActiveSheet;
      if not VarIsNull(aWorkbook) then
      begin
        var aRowCount: Integer := aRow;
        var aColCount: Integer := 8;
        if (aRowCount > 0) and (aColCount > 0) then
        begin
          begin
            var aDate := Date;
            var aFormat := 'mmmm d, yyyy';
            aWorksheet.Range['C3','F3'].NumberFormat:= aFormat; // Format wird auch hier nicht in Datum geändert
            aWorksheet.Rows[3].RowHeight := 30.75;             // Macht nichts

            aWorksheet.Range['C3','F3'].Value:= aDate;
            aWorksheet.Range['C3','F3'].Interior.Color := RGB(223, 123, 123);


            aWorkbook.Activate;
            var xlCSV6: OleVariant := xlCSV;

            var aDateiname := 'test.csv';
            var aDestinationMainOrdner := GetDeskTopPath+'\';

            aExcelApp.ActiveWorkbook.SaveAs(FileFormat := xlCSV6, Filename := aDestinationMainOrdner+aDateiname, CreateBackup := false);
            aWorkbook.saved := true;
            aWorkbook.Close(saveChanges := true, Filename := aDestinationMainOrdner+aDateiname);
          end;
        end;
      end
      else
        Result := False;
    end
    else
      Result := False;
  finally
    aExcelApp.Quit;
  end;
End;

Jemand Tipps?
  Mit Zitat antworten Zitat
LoZe

Registriert seit: 27. Dez 2016
Ort: Ulm
38 Beiträge
 
Delphi 12 Athens
 
#2

AW: Excel erstellen und Formatieren

  Alt 18. Mai 2022, 08:11
Hallo, sehe ich das richtig das du es als CSV abspeicherst?
CSV enthält keine Formatierung sondern ist nur eine "Comma Separated Values" Datei
Chris
  Mit Zitat antworten Zitat
Youuuu

Registriert seit: 9. Okt 2016
60 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Excel erstellen und Formatieren

  Alt 18. Mai 2022, 08:42
Ich wollte es gerade selbst schreiben, es wird als CSV gespeichert und die haben ja keine Formatierung ... War einfach blind.
  Mit Zitat antworten Zitat
LoZe

Registriert seit: 27. Dez 2016
Ort: Ulm
38 Beiträge
 
Delphi 12 Athens
 
#4

AW: Excel erstellen und Formatieren

  Alt 19. Mai 2022, 09:22
man sieht manchmal den Code vor lauter Syntax nicht
Chris
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Excel erstellen und Formatieren

  Alt 19. Mai 2022, 10:15
Wenn CreateOleObject nicht erfolgreich ist, wird eine Exception ausglöst.
Deshalb ist die Prüfung VarIsNull(aExcelApp) an dieser Stelle überflüssig.
Zumal aExcelApp.Quit auf einen Null-Variant auch nicht funktionieren kann.

Es wird zuerst das aWorkbook erzeugt, dann davon aWorksheet abgerufen.
Aber erst danach geprüft, ob aWorkbook überhaupt erfolgreich erzeugt wurde.
Hier würde auch bereit der Abruf von aWorksheet eine Exception auslösen, wenn aWorkbook nicht existiert.

So lange if-else-Blöcke sind relativ unübersichtlich.
Deshalb würde ich die Blöcke eher in Unterfunktionen auslagern oder bei Ausnahmen die Funktion direkt verlassen.
Delphi-Quellcode:
function fn(): Boolean;
begin
  {code}

  if Ausnahme then
    Exit(False);

  {code}

  if Ausnahme then
    Exit(False);

  {code}

  Result := True;
end;
  Mit Zitat antworten Zitat
DaCoda

Registriert seit: 21. Jul 2006
Ort: Hamburg
73 Beiträge
 
Delphi 12 Athens
 
#6

AW: Excel erstellen und Formatieren

  Alt 21. Mai 2022, 07:40
Hallo,
ich hab mir mal eine "Mini-Unit" gemacht um Excel-Dateien zu erzeugen.
Ist zwar im Moment nur das nötigste, aber mir reichte das vorerst zum testen...

Vielleicht bringt dich das ein Stück weiter...
Angehängte Dateien
Dateityp: zip Excel Test.zip (1,72 MB, 14x aufgerufen)
Debuggers don’t remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz