Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Delphi->Excel Zahldarstellung
D. Annies - Mo 06.04.09 09:23
Titel: Delphi->Excel Zahldarstellung
Hi, Delpher,
Ich sende die Daten aus einer DBTabelle nach Excel. Klappte wunderbar, als die "Zahl" im Feld 'ISBN' 10-stellig war. Nun stelle ich Artikel für Artikel um auf 13-stellige Zahl/Anzeige und siehe da, Excel präsentiert mir etwas in der Art 9,783546 E+12.
Es ist ein Feld String[13] und ich sende es nach wie vor als string. Ich kann es in Excel formatieren als Zahl, dann habe ich wieder die richtige Anzeige. Aber das ist ja nun nicht der Sinn der Sache.
Wer hat auch solche "Erfahrungen" gemacht und kann helfen?
Gruß, Detlef
D. Annies - Mo 06.04.09 11:31
Hi, Delpher,
habe jetzt das folgende gefunden - es funzt auch:
Delphi-Quelltext
1: 2:
| excel.activesheet.pagesetup.LeftMargin := 35; excel.activesheet.pagesetup.RightMargin := 10; |
solong, Detlef
ene - Mo 06.04.09 11:43
Hi,
hast du mal versucht in der Abfrage das Feld durch Typumwandlung entsprechend zu Formatieren? Manchmal beißen sich . und ,.
D. Annies - Mo 06.04.09 12:48
Hi, ene,
nee, das ist es leider nicht, aber ich habe jetzt ein Hochkomma davor gesetzt und nu gehts. (Die Antwort oben gilt nicht, da habe ich den Thread verwechselt)
Gruß, Detlef
ene - Mo 06.04.09 13:04
Das Hochkomma ist ja eigentlich auch nur das Auswerten als Text. Normalerweise reicht die Typumwandlung aus. In eine Vorlage möchtest du nicht exportieren?
D. Annies - Mo 06.04.09 19:57
Nein, nur in eine Tabelle.
Es sind jetzt in der linken oberen Ecke kleine Winkel zu sehen, Fehler ignorieren usw. aber der Ausdruck (Seitenansicht) ist ok ohne weitere Nacharbeit. So geht's,
Grüße aus Lübeck, Detlef
ene - Di 07.04.09 08:03
Was ist denn das für ein Datentyp in der Tabelle und formatierst du ihn in der Abfrage?
D. Annies - Di 07.04.09 10:53
Hi, Jan,
es sind String[13] und formatieren tue ich nicht, sondern sage einfach
excel.cells[n,k] := Qxy.fieldbyname('ISBN').asstring;
Recht harmlos, nicht?
Gruß, Detlef
ene - Di 07.04.09 11:05
Je nach DBMS könnte man es auch noch Versuchen mit einer Typumwandlung in der Abfrage. Wenn du so wie so schon in dem Excelobjekt arbeitest, kannst du auch einfach mit excel.Column('A').NumberFormat:= '@' arbeiten. Den 1 Zeiler vor dem Einfügen sollten man verschmerzen können. Oder halt mit einer xlt arbeiten.
D. Annies - Di 07.04.09 11:08
Hi, Jan, ick probier dat mal, Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!