AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi formatieren einer exceltabelle aus delphi raus
Thema durchsuchen
Ansicht
Themen-Optionen

formatieren einer exceltabelle aus delphi raus

Ein Thema von stonimahoni · begonnen am 6. Dez 2004 · letzter Beitrag vom 6. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#1

formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 10:16
hi leute...

folgendes problem :
ich hab soweit geschafft meine daten aus delphi in eine excel tabelle zu exportieren. soweit sogut.
jetzt würde ich gern noch die senkrechten linien zwischen den feldern in der exceltabelle stärker hervorheben - doch wie realisiere ich das ?

anbei der code mit dem ich das excelfomular soweit formatiere ( bzgl farbe und zellengrösse und schriftgrösse ) :
Delphi-Quellcode:
    // formatieren der Exceltabelle
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Font.Bold := True;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns.Interior.ColorIndex := 14;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t-5].ColumnWidth := 6;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t-4].ColumnWidth := 18;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t-3].ColumnWidth := 14;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t-2].ColumnWidth := 14;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t-1].ColumnWidth := 14;
    Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Columns[t].ColumnWidth := 25;
    sheet.cells[u +2, t- 1].Font.Bold := True;
    sheet.cells[u +2, t- 1].Interior.ColorIndex := 6;
    sheet.cells[u +2, t].Interior.ColorIndex
wie kann ich hier jetzt die linien ansprechen ? weiss das jemand ?
hoffe ich hab mich verständlich ausgedrückt


btw.: wenn wir schon dabeisind : weiss jemand wie ich per quelltext auch angebe wie der inhalt einer zelle ausgegeben wird - sprich links oder rechtsbündig ?

bis dann

mfg stoni
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#2

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 10:56
Wenn ich mich richtig erinnere kannst du die Linien mit Range.Borders ansprechen. Wie genau die Formatierung abläuft hab ich leider gerade nicht im Kopf.

Die Ausrichtung kannst du mit Range.HorizontalAlignment oder Range.VerticalAlignment ändern. Die Werte sind dann z.B. xlHAAlignLeft ( HA für Horizontal Alignment ) oder xlVAAlignTop( VA wie Vertical Alignment ).

*edit* zu blöd um "vertical" zu schreiben *edit*
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#3

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 11:04
hi treffnix

hab grad mal was probiert :
Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, 1)].Columns[t-5].xlHAAlignLeft; aber da bekomm ich fehler beim export weil das automatisierungsobjekt das nicht unterstützen würde ?!

ahnung was ich falsch gemacht habe ??
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#4

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 11:16
Zitat von stonimahoni:
hi treffnix

hab grad mal was probiert :
Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, 1)].Columns[t-5].xlHAAlignLeft; aber da bekomm ich fehler beim export weil das automatisierungsobjekt das nicht unterstützen würde ?!

ahnung was ich falsch gemacht habe ??
xlHAAlignLeft ist ein Wert, kein Property. Den musst du dem Property HorizontalAlignment zuweisen.

also z.B.
Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, 1)].Columns[t-5].HorizontalAlignment := xlHAAlignLeft;
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#5

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 11:31
ich depp

jetzt bekomme ich nur noch einen fehler :
[Fehler] test.pas(168): Undefinierter Bezeichner: 'xlHAAlignLeft'

als was muss ich xlHAAlignLeft definieren ?
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#6

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 11:37
Entschuldige, hab mich geirrt. Gerade mal nachgeguckt: Der Wert heisst xlHAlignLeft, also ein A weniger. Entsprechend xlHAlignRight für Rechtsbündig usw... Definiert ist er in der Unit Excel<version>
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#7

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 11:53
freffnix du bist wahrlich super
klappt supi !!

jetzt hab ich nur noch das prob mit den linien ( border )
wo schau ich sowas am besten nach ? in der delphi hilfe find ich net wirklich was oder ich peils nur net

wollte dem teil praktisch sagen dass zwischen jeder spalte die linie dick ist und auch rechts und links aussen ( bei den äussersten spalten )
wollte das so gestalten :
Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Borders(xlEdgeRight).Weight := xlThick ; so steht es ungefähr im macro das ich im excel gemacht habe um zu schauen aber hier bekomm ich folgenden fehler :

exception der klasse eolesyserror - member nicht gefunden
wasn das jetzt ? *argh*
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#8

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 12:28
Hmm...

Wie gesagt: Weiss ich gerade ausm Kopf nicht genau, und find auch gerade keinen Source dazu, aber versuchs doch mal mit eckigen Klammern.

z.B.
Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Borders[xlEdgeRight].Weight := xlThick ; evtl auch

Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Borders.Item[xlEdgeRight].Weight := xlThick ;
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#9

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 14:05
tausend dank treffnix !!!

folgendes hat wunderbar geklappt :
Sheet.Range[RefToCell(1, 1), RefToCell(1, AGrid.ColCount)].Borders.Item[xlEdgeRight].Weight := xlThick ;
jetzt noch ein kleiens problemchen :
ich fülle meine excel tabelle mit folgendem code :
Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, AGrid.ColCount)].Value := Data; data habe ich vorher als olevariant deklariert und gefüllt. in der letzten spalte stehen zahlenwerte denen ich gerne noch als anhängsel das "€" zeichen mitgeben würde.
kann ich das irgendwie an das data dranhängen ??
ich hatte es probiert als string mit zu übergeben also := Data +'€'; aber da bekam ich nen fehler

hast du da noch ne kleine idee ?? wäre echt geil

dank dir tausendmal

mfg

stoni
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#10

Re: formatieren einer exceltabelle aus delphi raus

  Alt 6. Dez 2004, 14:18
Benutz doch das Property Range.Numberformat. Da kannste die Zellformatierung anpassen ohne den Wert zu ändern. Ist quasi das gleiche wie in Excel direkt "Zellen formatieren" und dann Benutzerdefiniert.

du könntest zum Beispiel mal

Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, AGrid.ColCount)].Numberformat := '0,00 €' versuchen. Evtl. musst du auch statt Komma nen Punkt nehmen. Wenns mit Komma geht, solltest du das über den Decimalseparator definieren, damits auch in anderen Sprachen klappt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
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