![]() |
Datenbank: Oracle • Version: 10g • Zugriff über: ADO+ODBC
Suche Datensenitive ExportToExcel-Funktion
Hallo,
ich hab eine Funktion geschrieben, die Inhalte einer ADO-Query nach Excel exportiert via OLE usw. Beispiele dafür hab ich hier einige gefunden und mich daran orientiert. Knackstelle ist beim Schreiben in eine Excel-Zelle (sinngemäß):
Code:
Problem ist das Excel diese Daten fröhlich umformatiert. Beispiel ein String mit Personalnummer 001234. Excel schneidet die führenden Nullen ab und interpretiert das als Zahl 1234.
while not query.EOF do
begin for j=0 to query.Fields.Count-1 do Excel.Workbook.Worksheet.Cells[i+1,j+1].value=query.Fields[j].AsString; Inc(i); query.Next; end; Double oder Currency Werte bekommen in Excel amerikanische Zahlenformate (da wohl die Daten so in der DB sind) usw. usw. Hat jemand vllt. eine Funktion, die das abfängt und z.B. nach den Datentypen der Query guckt und dann entsprechend irgendwie reagiert? |
AW: Suche Datensenitive ExportToExcel-Funktion
Du könntest das Property NumberFormat (aus Interface Range) setzen.
Für einen String ist das NumberFormat = '@'. |
AW: Suche Datensenitive ExportToExcel-Funktion
Delphi-Quellcode:
Das funktioniert für alle Felder,
if forcestring then
excel.Activesheet.Cells.NumberFormat := '@'; eine andere Möglichkeit wäre
Delphi-Quellcode:
oder
.Cells(x,y):=''''+MeineDaten;
Delphi-Quellcode:
Hierbei hat Excel aber schon mal Schluckauf bekommen, sprich, doch wieder falsch formatiert.
.Cells(x,y):='"'+MeineDaten;
Gruß K-H P.S. ist nicht auf meinem Mist gewachsen, da hat es vor 2(?)Jahren schon einmal einen Thread zu gegeben. |
AW: Suche Datensenitive ExportToExcel-Funktion
Ich hatte da auch schon an ein =CHR(39)+Query....AsString gedacht.
shmias Tip muss ich auch mal ausprobieren. Dazu vllt. beim Schreiben der Headline auch mal auf die Datentypen der Felder gucken und die Excel-Spalten entsprechend vorformatieren. Teste ich gleich morgen mal, muss jetzt erstmal das Schulzeugniss abholen, juhu (erstmal) nie wieder Schule.8-) |
AW: Suche Datensenitive ExportToExcel-Funktion
Das man per EXCEL direkt an aus einer DB Daten lesen kann, ist bekannt?
|
AW: Suche Datensenitive ExportToExcel-Funktion
Zitat:
Und Du schleppst immer die Datenabfrage in Deiner Excel-Datei mit Dir herum. Gebraucht wird die Datei aber nur als Datencontainer. Gruß K-H |
AW: Suche Datensenitive ExportToExcel-Funktion
Zitat:
Zitat:
Zitat:
Übrigens: EXCEL + OLE = Schnecke (vs. 'Fahrrad') Ich erstelle kleine Reporttemplates mit EXCEL und wenn der DAU doppelklickt, hat er alles, was er braucht. Immer aktuell, ohne sich selbst drum zu kümmern. Das ist dann kein Fahrrad, sondern eher ein Luxusdoppeldecker mit komplettem Innenausbau, Dusche, HiFi-Anlage, Küche und Butler. Nur die Geschwindigkeit... nun ja, Tempo 80. Aber der DAU hat Zeit. Und ich auch, weil ich mir keinen abgebrochen habe, seinem Wunsch nachzukommen. Will ich EXCEL-Reports aus einer Anwendung heraus erstellen, die auch ohne Live-DB Anbindung funktioniert, verwende ich Komponenten von ![]() Aber das ist alles OT (Sry). |
AW: Suche Datensenitive ExportToExcel-Funktion
Zitat:
|
AW: Suche Datensenitive ExportToExcel-Funktion
Zitat:
|
AW: Suche Datensenitive ExportToExcel-Funktion
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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 by Thomas Breitkreuz