Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dbgrid Excel Title (https://www.delphipraxis.net/203463-dbgrid-excel-title.html)

Tommi1966 19. Feb 2020 13:05

Dbgrid Excel Title
 
Hallo zusammen,
im Moment stehe ich wohl auf dem Schlauch.
Ich erstelle in Lazarus mit csvexporter eine csv Datei und öffne diese dann mit Excel.
Ich möchte dann , die Spaltennamen in Excel, die von dem query übernommen wurden, mit den Titelname des dbgrid ändern.

Bespiel :

nach dem Export steht in Zelle 1,1 der query Fieldname -> da ( für Datum )
im Dbgrid steht für query Fieldname -> dbgrid.Title.Caption -> Datum

mit dieser Änderung habe ich es versucht,

Excel.cells[1,1].select;
Excel.cells[1,1].value:=dbgrid1.Columns.Items[0].Title.Caption;

aber die Zelle 1,1 ist dann einfach leer

der Befehl -> showmessage(dbgrid1.Columns.Items[0].Title.Caption) -> zeigt mir ->Datum<- an

vorab vielen Dank für einen nützlichen Denkanstoß

Jumpy 19. Feb 2020 13:13

AW: Dbgrid Excel Title
 
Zitat:

Zitat von Tommi1966 (Beitrag 1457902)
nach dem Export steht in Zelle 1,1 der query Fieldname -> da ( für Datum )

Warum? Mach doch die Query so, dass da Datum steht, dann kannst du dir alles Weitere sparen. Und wenn die Namen Leerzeichen enthalten o.ä., dann setze sie in Anfüfrungszeichen.

Tommi1966 19. Feb 2020 13:25

AW: Dbgrid Excel Title
 
Hey,
also da bin ich jetzt überfragt. Die query bezieht doch aus der Datenbank Tabelle die Feldnamen.
Wie kann man denn in einer Query diese ändern ?

tshubaka 19. Feb 2020 14:18

AW: Dbgrid Excel Title
 
Hallo,
ich mache das so:

excel.cells[1,1].value := DBGrid1.Columns[0].Title.Caption;

Gruss

Jumpy 19. Feb 2020 14:37

AW: Dbgrid Excel Title
 
Zitat:

Zitat von Tommi1966 (Beitrag 1457905)
Hey,
also da bin ich jetzt überfragt. Die query bezieht doch aus der Datenbank Tabelle die Feldnamen.
Wie kann man denn in einer Query diese ändern ?

Das hängt davon ab, wie das SQL-Statement für deine Query aussieht. Steht da
SQL-Code:
Select * From Tabelle
dann nimmt er die Spaltennamen aus der Tabelle.

Du kannst aber eine Query auch so schreiben, wie du sie haben willst:
SQL-Code:
Select
  Da as Datum,
  FE2 as "Wert 1",
  FE3 as "Wert 2",
  SU as Summe
From
  Tabelle

Tommi1966 19. Feb 2020 17:06

AW: Dbgrid Excel Title
 
Hallo tshubaka,
das habe ich probiert. Bei mir gibt es dann nur eine leere Zelle in Excel.

Hallo Jumpy,

danke, das klappt natürlich und kannte ich noch nicht. Damit kann ich weiter programmieren.

:-D

Komisch finde ich es aber trotzdem das man nicht

excel.cells[1,3].value := DBGrid1.Columns[2].Title.Caption;

verwenden kann.

Vielen Dank euch beiden.

Jumpy 20. Feb 2020 09:13

AW: Dbgrid Excel Title
 
Aus der Delphi-Hilfe:
Zitat:

Title zeigt auf ein TColumnTitle-Objekt, das Attribute des Spaltentitels festlegt. Wenn die Eigenschaft FieldName einen Wert enthält, wird dieser zum Vorgabewert für den Spaltentitel (die Eigenschaft Caption des TColumnTitle-Objekts).

Der Spaltentitel wird zur Laufzeit nur dann angezeigt, wenn in der Eigenschaft Options des Datengitters das Flag dgTitles gesetzt ist.
Ist da ein Hinweis drin, warum es nicht klappt? Würde man auf Column[2].FieldName gehen, bekäme man wahrscheinlich wieder nur das "Da" aus der Query, oder?

Tommi1966 20. Feb 2020 11:29

AW: Dbgrid Excel Title
 
Hey,

nein auch bei

excel.cells[1,1].value:=dbgrid1.Columns[0].FieldName;

ist die angesprochene Zelle leer.

Jumpy 20. Feb 2020 11:49

AW: Dbgrid Excel Title
 
und dies hier?

excel.cells[1,1].value:='Nur ein Test'

Tommi1966 20. Feb 2020 12:14

AW: Dbgrid Excel Title
 
Hey,

das funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr.
Seite 1 von 2  1 2      

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