![]() |
Excel erstellen und Formatieren
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? |
AW: Excel erstellen und Formatieren
Hallo, sehe ich das richtig das du es als CSV abspeicherst?
CSV enthält keine Formatierung sondern ist nur eine "Comma Separated Values" Datei |
AW: Excel erstellen und Formatieren
Ich wollte es gerade selbst schreiben, es wird als CSV gespeichert und die haben ja keine Formatierung ... War einfach blind.
|
AW: Excel erstellen und Formatieren
man sieht manchmal den Code vor lauter Syntax nicht :-D
|
AW: Excel erstellen und Formatieren
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; |
AW: Excel erstellen und Formatieren
Liste der Anhänge anzeigen (Anzahl: 1)
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... :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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