Entwickler-Ecke

Sonstiges (Delphi) - Excel-Diagramm mit OLE realisieren....


Roadrunner25 - So 22.04.07 15:51
Titel: Excel-Diagramm mit OLE realisieren....
Hallo zusammen,

ich möchte mein Programm um ein Diagramm erweitern und mir so ausgerechnete Daten aus einem StringGrid anzeigen lassen.
Habe in einem Delphi Buch gelesen, dass man mit OLE - Automationen Excel-Diagramme einfügen kann. Hat irgendjemand Erfahrung damit???

Habe versucht die Automation umzusetzen, hat aber irgendwie nicht geklappt. Habe hierzu einen Ole - Container auf dem Formular hinzugefügt und ein Objekt " Excel- Arbeitsblatt" dem Container zugewiesen...

Als Quellcode habe ich folgendens geschrieben :


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
try

    Excel := CreateOleObject('Excel.Application');

   except

   ShowMessage('Excel konnte nicht gestartet werden');

   Exit;

   end// bezogen auf try - Anweisung


   Excel.Workbooks.Add;

   for i := StrToInt(Edit7.Text) to 270 do
    for spalte := 1 to 6 do

    Excel.Cells[i,spalte].Value := StringGrid1.Cells[Spalte-1,i];
    Excel.Visible := True;

    Excel.Charts.Add;

    Excel.Charts[1].Activate;
    Excel.Charts[1].ChartWizard (excel.Workssheets['Tabelle1'].Range['A1:F270'],
        -410042102'Drehmomentenverlauf''Winkel''Drehmoment''');

    Excel.Charts[1].ChartArea.Copy;

    OleContainer1.Paste;

    Excel.ActiveWorkbook.Saved := True;

    Excel.Workbook.Close;


Leider zeigt das Programm während der Laufzeit ein Diagramm an...


Freue mich über jede Hilfe und über ein paar Grundlagen hierzu....

Gruß Roadrunner


Keldorn - So 22.04.07 16:10

Hallo,

wen du nur ein Diagramm haben willst, nimm ein Tchart. Oder bist du unbedingt auf einen Excel-Export angewiesen?

Mfg Frank


Roadrunner25 - So 22.04.07 16:28

Ein Diagramm in Excel wäre mir lieber, da man dann auch die errechneten Daten als .xls speichern kann.

Wie würde das denn mit den TChart funktionieren? Habe diesbezüglich keine Anhnung, wie ich das damit realisiere....


Keldorn - So 22.04.07 22:02

Excel: schaff ich nicht, mir deinen code heute noch anzuschauen, hast du mal im Forum und in der DP gesucht?
Auf alle Fälle: nimm keine Zahlenwerte, sondern die Konstantennamen, oder kannst du mir sagen, was -4100 zu bedeuten hat? Auch wenn du niht die Serverkompos verwendest, binde die office und excel units (liegen im ocx/Servers verzeichnis, genaue Bezeichnungen dort, da sind versionsabhängig sind)

Welche Delphi-version verwendest du überhaupt?

Tchart: hier findest du auf alle Fälle was im Forum. in Delphi gibt es auch eine umfangreiche Demo dazu.


Roadrunner25 - Mo 23.04.07 09:17

Werde gleich nochmal alles durchstöbern und gucken...

Mal gucken, ob ich ne brauchbare Anleitung mit den Grundbegriffen finde!

Die -4100 kann ich dir leider auch nicht erklären, habe den Quellcode aus meinem Delphibuch übernommen und versucht den ein wenig umzuändern.....vielleicht die maximale Anzahl an Zellen in Excel???

Danke für die Hilfe!


Roadrunner25 - Mo 23.04.07 12:52

Werde jetzt wohl doch das TChart nehmen....kann man ja sicherlich später auch als *.bmp oder so bei Excel und Word einfügen!?