AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel export Zelle formatieren?

Ein Thema von gandime · begonnen am 9. Aug 2009 · letzter Beitrag vom 9. Aug 2009
Antwort Antwort
gandime
(Gast)

n/a Beiträge
 
#1

Excel export Zelle formatieren?

  Alt 9. Aug 2009, 15:21
Hi,
momentan benutze ich die XLSDateiUnit um ein Stringgird in Excel zu exportieren.
Bei dieser Unit ist ja eine Formation der Zellen nicht möglich...
Folgendes record immer vor einer Zelle in die Datei geschrieben:
Delphi-Quellcode:
  TXLS_LABELRec= packed record // String-Record von Excel
    RecCode: Word; // $204 Bei Biff 8
    RecLaenge: Word; // Record Länge // muss zuvor berechnet werden
    Row: Word; // Zeilen-Nr. beginnt bei 0
    Col: Word; // Spalten-Nr. beginnt bei 0
    IndexXFRec: Word; // noch nicht ganz verstanden // erstmal=0
    ZellenStLeange: Word; // Nur die ZellenString-Länge
  end;
wobei wenn überhaupt IndexXFRec für eine Formation in Frage kommt, aber auch wenn ich den Wert ändere werden die Zellen unformatiert exportiert.

Gibt es vlt eine andere Komponente o.ä. bei der man Zellen formatieren kann?
Die einzigen Formationen die ich bräuchte wären: Fett, Unterstrichen und Rahmenlinien unten. Falz es noch möglich wäre die Schriftgröße zu ändern wäre das natürlich super muss aber nicht sein!

Es kann auch gerne eine Komponente sein, welche Excel benutzt.

mfg

gandime
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Excel export Zelle formatieren?

  Alt 9. Aug 2009, 15:23
Kann von einem installierten Excel auf dem Rechner ausgegangen werden?
Markus Kinzler
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#3

Re: Excel export Zelle formatieren?

  Alt 9. Aug 2009, 15:28
Zitat von mkinzler:
Kann von einem installierten Excel auf dem Rechner ausgegangen werden?
Zitat von gandime:
Es kann auch gerne eine Komponente sein, welche Excel benutzt.
also ja
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: Excel export Zelle formatieren?

  Alt 9. Aug 2009, 15:29
Zitat von mkinzler:
Kann von einem installierten Excel auf dem Rechner ausgegangen werden?
Zitat von gandime:
Es kann auch gerne eine Komponente sein, welche Excel benutzt.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Excel export Zelle formatieren?

  Alt 9. Aug 2009, 16:46
Hallo gandime,


nur mit einer Änderung des Wertes ist es nicht getan, eigentlich ist es eine Adresse wo der Formatierungs-Record der jeweiligen Zelle steht.

Vielleicht hilft Dir dieser Link weiter:

StringGrid mit OLE nach Excel

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#6

Re: Excel export Zelle formatieren?

  Alt 9. Aug 2009, 18:39
@Chemiker:
Danke für die Seite!
Das hat mir einen ersten EInblick verschafft!

Gerade zu etwas anderem von dir^^
bei deiner XLSDateiUnit solltest du bei der
function DatenInXLSDateiUebertragen(const XLS_LWPathDateiName: string; DatenStringGrid: TStringGrid): boolean; eine abfrage machen beevor du die Zelle eintragen lässt.
if inhalt<>'then damit keine Leeren Felder hinzugefügt werden. (Kann bei längerem Zelleninhalt dazu führen das es nicht komplett sichtbar ist)


Mit hilfe von SwissDelphiCenter.ch und Delphi-Forum.de
habe ich jetzt einen funktionierenden Excel export mit Zellenformation.

was wie folgt aussieht:
Delphi-Quellcode:
const
  // SheetType
  xlChart = -4109;
  xlWorksheet = -4167;
  // WBATemplate
  xlWBATWorksheet = -4167;
  xlWBATChart = -4109;
  // Page Setup
  xlPortrait = 1;
  xlLandscape = 2;
  xlPaperA4 = 9;
  // Format Cells
  xlBottom = -4107;
  xlLeft = -4131;
  xlRight = -4152;
  xlTop = -4160;
  // Text Alignment
  xlHAlignCenter = -4108;
  xlVAlignCenter = -4108;
  // Cell Borders
  xlThick = 4;
  xlThin = 2;
  xlEdgeLeft=7;
  xlEdgeTop=8;
  xlEdgeBottom=9;
  xlEdgeRight=10;
  xlInsideVertical=11;
  xlInsideHorizontal=12;

var
  ExcelApp:Variant;

begin
  try
    ExcelApp := GetActiveOleObject('Excel.Application');
  except
    try
      ExcelApp := CreateOleObject('Excel.Application');
    except
      ShowMessage('Cannot start Excel/Excel not installed ?');
      Exit;
    end;
  end;
  ExcelApp.Workbooks.Add(xlWBatWorkSheet);
  ExcelApp.Cells[1,1].Value := 'Delphi-Praxis';
  ExcelApp.Cells[2,1].Value := 'http://www.delphipraxis.net';
  ExcelApp.Cells[1,1].Font.size:=10;
  ExcelApp.Cells[2,1].Font.Bold:=true;
  ExcelApp.Cells[2,1].Font.underline:=true;
  ExcelApp.Cells[3,1].Borders[xlEdgeBottom].Weight := xlThin;
  ExcelApp.ActiveWorkBook.Close(SaveChanges := True, Filename := Directory);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:31 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