Welcome
Guest
, you are in:
<root>
•
Anmelden
CP Wiki
Navigation
¶
CP Solutions
Startseite
domizil+
Startseite
Administration
Administration
Neue Seite
Alle Seiten
Kategorien
Navigations-Pfade
Datei Manager
Neuer Benutzer
Suche im wiki
»
Zurück
Klasse Excel Adapter
Modified on 03/02/2009 15:40
by
CPARAS
Categorized as
Plattform
__CPALEB wird noch weiter komplettiert! 02.02.2009__ ==Zweck== Mit Hilfe der Komponente TAdapterExcel können Daten aus der Datenbank nach Excel gesendet werden.{BR} Dazu wird ein Table Objekt benötigt und jeder Datensatz innerhalb der Table muss manuell durchgelaufen werden, die Daten werden Zeile für Zeile ins Excel exportiert. Nach der Freigabe des TAdapterExcel Objekts im Code bleibt Excel geöffnet, erst beim Schliessen fragt Excel nach, ob man die Datei speichern möchte oder nicht. {BR} * [KlasseExcelAdapterMethoden|Methoden] * Eigenschaften * Ereignisse {BR} ==Beispiel== Folgendes Beispiel soll die Funktionsweise der TAdapterExcel verdeutlichen.{BR}{BR} <code pascal> procedure buttonExcelExportEinheit_OnClick(Sender: Integer); var aExcel: TAdapterExcel; i: integer; aRow: Integer; aLastTitel: String; aSumme: Double; begin; TableExportEinheit.setstringparam('OB_ID', self.getparam('OB_ID')); TableExportEinheit.readData; if TableExportEinheit.recordcount > 0 then TableExportEinheit.First; aExcel := TAdapterExcel.Create; try aRow := 1; //Flag setzen damit Excel nicht geschlossen wird beim Freigeben der TAdapterExcel Klasse aExcel.CloseOnFree := false; aExcel.Cell['B1'].HorizontalAlign := thaCenter; aExcel.Cell['B1'].Width := 15.5; aExcel.Cell['B1'].WordWrap := true; aExcel.Cell['A1'].Value := 'EH_Nummer'; aExcel.Cell['A1'].Font.Style := fsBold; aExcel.Cell['B1'].Value := 'Top'; aExcel.Cell['B1'].Font.Style := fsBold; aExcel.Cell['C1'].Value := 'Geschoss'; aExcel.Cell['C1'].Font.Style := fsBold; while not TableExportEinheit.EOF do begin aRow := aRow + 1; aExcel.Cell['A' + inttostr(aRow)].Value := TableExportEinheit.FieldByName('EH_NUMMER').AsString; aExcel.Cell['A' + inttostr(aRow)].HorizontalAlign := thaRight; aExcel.Cell['B' + inttostr(aRow)].Value := TableExportEinheit.FieldByName('EH_TOP').AsString; aExcel.Cell['B' + inttostr(aRow)].HorizontalAlign := thaRight; aExcel.Cell['C' + inttostr(aRow)].Value := TableExportEinheit.FieldByName('EH_STOCKWERK').AsString; aExcel.Cell['C' + inttostr(aRow)].HorizontalAlign := thaRight; TableExportEinheit.Next; end; aExcel.ShowExcel; finally aExcel.Free; end; end; </code> {BR} Excel wird zeilenweise befüllt, dazu geht man mit einem Zähler durch die Datenmenge und spricht die Excel Zellen über den Zähler an. Zum Beispiel erster Datensatz kommt in Zellen A2,B2,C2 - der 5. Datensatz dann in Zellen A6,B6,C6 usw.{BR} {BR} '''Tipps:''' * Die Zellen im Excel können auch formatiert werden (Schrift, Ausrichtung, WordWrap, Breite etc..) siehe Beispiel oben. * Das Excel Objekt kann im Code freigegeben werden ohne dass Excel selbst sich schliesst, wenn man folgenden Schalter setzt: <code pascal> aExcel.CloseOnFree := false; </code>
ScrewTurn Wiki
version 3.0.1.400. Some of the icons created by
FamFamFam
.