Ciao a tutti,
sto iniziando a lavorare con delphi.
Premetto che la mia esperienza con linguaggi di tipo visuale è davvero molto limitata.
Dovrei leggere dei dati da un foglio Excel ma non ho idea su come fare.
Potreste aiutarmi con qualche esempio o indicandomi dove posso trovare un po di documentazione adatta alle mie scarse conoscenze su questo tipo di programmazione?
Grazie in anticipo
nic96
Ti posto un po' di codice relativo ad una mia applicazione che avevo scritto tempo fa. Al di là delle personalizzazioni e di qualche "aborto", non è certo un esempio di bella programmazione :rolleyes: può essere una utile traccia di come iniziare a lavorare su Excel via Delphi.
procedure TForm1.Button1Click(Sender: TObject);
var
XlApp1, xlApp2 : Variant;
f : textfile;
k, kan1, kas1, tmpkan1 : integer;
ax,bx,cx,dx,ex,fx,gx,ay,by,cy,dy,ey,fy,gy : string[6];
linea, linea2 : string[60];
begin
XlApp1 := CreateOleObject('Excel.Application');
XlApp2 := CreateOleObject('Excel.Application');
XlApp1.WorkBooks.Open('c:\anagrafe.xls');
XlApp2.WorkBooks.Open('c:\utenze_non_dom_.xls');
assignfile(f,'c:\match.txt');
rewrite(f);
{bx := 'b1';
Edit1.Text := XlApp2.Range[bx];}
tmpkan1 := 1;
for kas1 := 1 to 11843 do
begin
for k := 1 to 60 do linea[k] := ' ';
for k := 1 to 60 do linea2[k] := ' ';
ax := 'A'+IntToStr(kas1);
bx := 'B'+IntToStr(kas1);
cx := 'C'+IntToStr(kas1);
dx := 'D'+IntToStr(kas1);
linea := XlApp2.Range[bx];
for kan1 := tmpkan1 to 29237 do
begin
ay := 'A' + IntToStr(kan1);
by := 'B' + IntToStr(kan1);
linea2 := XlApp1.Range[by];
if linea = linea2 then
begin
write(f,linea + ';');
for k := 1 to 60 do linea2[k] := ' ';
dy := 'D' + IntToStr(kan1);
ey := 'E' + IntToStr(kan1);
fy := 'F' + IntToStr(kan1);
gy := 'G' + IntToStr(kan1);
linea2 := XlApp1.Range[dy];
write(f,linea2 + ';');
linea2 := XlApp1.Range[ey];
write(f,linea2 + ';');
linea2 := XlApp1.Range[fy];
write(f,linea2 + ';');
linea2 := XlApp1.Range[gy];
write(f,linea2 + ';');
linea2 := XlApp1.Range[ay];
write(f,linea2 + ';');
linea2 := XlApp2.Range[cx];
write(f,linea2 + ';');
linea2 := XlApp2.Range[ax];
write(f,linea2 + ';');
linea2 := XlApp2.Range[dx];
writeln(f,linea2 + ';');
tmpkan1 := kan1 - 1;
break;
end;
if linea2 > linea then
begin
tmpkan1 := kan1 - 1;
break;
end;
end;
Edit1.Text := linea;
Edit2.Text := linea2;
Application.ProcessMessages;
end;
XlApp1.Quit;
XlApp2.Quit;
closefile(f);
end;
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.