"Bugg" apparu dans le process d'exportation vers Excel [Résolu]

Signaler
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
-
divin1975
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
-
Bonjour!

Je suis buté à une situation d'exportation. Je voulais bien exporter un fichier vers Excel. Mais ça plante sur cette ligne:
planilha:= CreateoleObject('c:\depenses.xls');


var linha, coluna : integer;
planilha : variant;
valorcampo : string;
begin

planilha:= CreateoleObject('c:\depenses.xls');
planilha.WorkBooks.add(1);
planilha.caption := 'Exportando dados do dbGrid para o Excel';
planilha.visible := true;

ADOTable1.First;
for linha := 0 to ADOTable1.RecordCount - 1 do
begin
for coluna := 1 to ADOTable1.FieldCount do
begin
valorcampo := ADOTable1.Fields[coluna - 1].AsString;
planilha.cells[linha + 2,coluna] := valorCampo;
end;
ADOTable1.Next;
end;
for coluna := 1 to ADOTable1.FieldCount do
begin
valorcampo := ADOTable1.Fields[coluna - 1].DisplayLabel;
planilha.cells[1,coluna] := valorcampo;
end;
planilha.columns.Autofit;
end;

4 réponses

Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
salut!!!
essayer

implementation
    uses comobj;
{$R *.dfm}
//...


var linha, coluna : integer;
planilha ,planworkbook: variant;
begin
try
planilha:= CreateOleObject('Excel.Application');
planworkbook := planilha.Workbooks.Add;
planworkbook.Worksheets.Item['Feuil1'].Activate;
planilha.caption := 'Exportando dados do dbGrid para o Excel';
planilha.visible := false;
ADOTable1.First;
//ADOTable1.DisableControls;
for linha := 0 to ADOTable1.RecordCount - 1 do
begin
for coluna := 1 to ADOTable1.FieldCount do
begin
planilha.cells[linha + 2,coluna].formula :=  ADOTable1.Fields[coluna - 1].AsString;//valorCampo;
end;
ADOTable1.Next;
end;
for coluna := 1 to ADOTable1.FieldCount do
begin
planilha.cells[1,coluna] := ADOTable1.Fields[coluna - 1].DisplayLabel;//valorcampo;
end;
planilha.columns.Autofit;
planilha.ActiveWorkBook.SaveAs('c:\depenses.xls');
//ADOTable1.EnableControls;
planilha.visible := true;
except
planilha:=Unassigned;
// HandleException;
end;

@+
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10
Dubois77
site persosalut
dans res Var du début, tu déclares planhila comme variant, alors que tu l'utilises déja avant
c'est le local qui est pris en compte, donc pas bon.
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013

ça marche toujours pas.
Personne n'a un truc de pareille qui fonctionne déjà.

Merci,
divin1975
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013

@walidlam
C'est extraordinaire! ça marche en parfaite santé.

Merci,
divin1975