Transferer les données de ma table vers excel avec delphi xe4

Messages postés
1
Date d'inscription
mardi 12 janvier 2016
Dernière intervention
12 janvier 2016
- 12 janv. 2016 à 19:55 - Dernière réponse :
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
- 20 janv. 2016 à 10:47
Bonjour,
j'aimerai savoir comment transférer les données de table ( dbgrid) vers un tableau Excel avec delphi xe4. avec les ancienne version de delphi j'utilisais le composant Texcelapplication mais apparemment ce composant n'existe pas dans Delphi xe4. que faire.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
159
Date d'inscription
samedi 15 novembre 2003
Dernière intervention
1 août 2018
- 14 janv. 2016 à 08:20
0
Merci
Salut
essais ici ce composant( free non commercial)
http://www.delphifeeds.com/go/s/15090
Commenter la réponse de papyvore
Messages postés
291
Date d'inscription
lundi 18 janvier 2016
Dernière intervention
14 février 2018
- Modifié par vico8000 le 20/01/2016 à 10:51
0
Merci
Bonjour,

Le code suivant est utilisé pour exporter les données d'un StringGrid et non d'un DBGrid. Mais dans le principe, nous devons avoir le même type d'exportation. A adapter à ton code.


var
xls, wb: OLEVariant;
arrData, Range: Variant;
RowCount, ColCount, i, j: Integer;
begin
{create variant array where we''ll copy our data}
RowCount := StringGrid1.RowCount;
ColCount := StringGrid1.ColCount;
arrData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

{fill array}
for i := 1 to RowCount do
for j := 1 to ColCount do
arrData[i, j] := StringGrid1.Cells[j-1, i-1];

label1.caption:=StringGrid1.Cells[2, 1];

{initialize an instance of Excel}
xls := CreateOLEObject('Excel.Application');

{create workbook}
wb := xls.Workbooks.Add;

{retrieve a range where data must be placed}
Range := wb.WorkSheets[1].Range[wb.WorkSheets[1].Cells[1, 1],
wb.WorkSheets[1].Cells[RowCount, ColCount]];

{copy data from allocated variant array}
Range.Value := arrData;

{show Excel with our data}
xls.Visible := True;
end;


Ne pas oublier d'inclure dans les uses OLEAuto
Ca marche trés bien pour Excel2010 et Delphi7

Cordialement.
Commenter la réponse de vico8000

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.