"Bugg" apparu dans le process d'exportation vers Excel

Résolu
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013 - 5 mars 2013 à 10:46
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013 - 11 mars 2013 à 09:59
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

cs_walidlam Messages postés 107 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 29 avril 2013 1
7 mars 2013 à 17:47
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;

@+
3
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
5 mars 2013 à 11:08
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.
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
7 mars 2013 à 09:39
ça marche toujours pas.
Personne n'a un truc de pareille qui fonctionne déjà.

Merci,
divin1975
0
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
11 mars 2013 à 09:59
@walidlam
C'est extraordinaire! ça marche en parfaite santé.

Merci,
divin1975
0
Rejoignez-nous