Kako da prebacim sadrzaj dbgrida u Excel tabelu pomocu koda,koristim paradox tabelu i d3...Unapred hvala
Delphi i excel prebacivanje zbog stampe
Zaključano
Zakačeno
Koristi commponent the ExcelApplication1 i deklarisi var (var
OleApplication,OleWorkBook : Variant;) i dodaj u Unit Users = ComObj
evo ti dio koda koje sam uradi, samo simple:
OleWorkBook := OleApplication.Workbooks.open(ExtractFilePath(Application.ExeName)+'izvjestaj.xls');
OleApplication.Worksheets.Application.Cells.Item[3,2] := dug;
OleApplication.Worksheets.Application.Cells.Item[3,3] := ipopis;
OleApplication,OleWorkBook : Variant;) i dodaj u Unit Users = ComObj
evo ti dio koda koje sam uradi, samo simple:
OleWorkBook := OleApplication.Workbooks.open(ExtractFilePath(Application.ExeName)+'izvjestaj.xls');
OleApplication.Worksheets.Application.Cells.Item[3,2] := dug;
OleApplication.Worksheets.Application.Cells.Item[3,3] := ipopis;
Rekoh radim u Delphiju 3,i tu nemam tu komponentu....bar ne znam da postoji
Imas a netu commponent Export to excel for Delphi pa skini,moras se malo potruditi
Slični problemi su ranije obrađivanji, potraži starije poruke na tu temu (Excel, OLE, ADO). Evo par linkova.
http://www.elitesecurity.org/t217226-0#1289255
http://www.elitesecurity.org/t340935-0#2084542
http://www.elitesecurity.org/t366656-0#2303198
http://www.elitesecurity.org/t217226-0#1289255
http://www.elitesecurity.org/t340935-0#2084542
http://www.elitesecurity.org/t366656-0#2303198
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Sve je to u novijim Delphijima,nema niosta za starije varijante...
Ne razumem sto koristis Delphi 3? Predji barem na sedmicu, ako ne mozes na XE/XE2
Ne mogu,jer mi na poslu imaju D3,ako predjem i na 6,nece mi raditi tamo...znam da je bez veze ali sta je tu je....
A to sa excel-om mi je potrebno zbog stampe,jer nece da mi radi qreport u delphi 3,sve sam pokusao ali ne ide...
izmenjeno 2 puta, poslednji put popmilan76 11.09.2012. u 12:13
Izmene poruke
- popmilan7611.09.2012. u 12:13zapis iz teksta poruke
- popmilan7611.09.2012. u 12:13zapis iz teksta poruke
Imam kod za prebacivanje iz stringgrida u excel,ali kad zamenim stringgrid u dbgrid,nece,jer dbgrid nema property cells...
procedure TForm1.Button1Click(Sender: TObject);
Var XLApp: OLEVariant;
x,y: byte;
path: variant;
begin
XLApp := CreateOleObject('Excel.Application'); // requires comobj in uses
try
XLApp.Visible := False; // Hide Excel
XLApp.DisplayAlerts := False;
path := 'C:\Documents and Settings\milan.PTT-0847394BE93\Desktop\New Folder\test.xls';
XLApp.Workbooks.Open(Path); // Open the Workbook
for x := 1 to 4 do
begin
for y := 1 to 6 do
begin
XLApp.Cells[x,y].Value := stringgrid1.Cells (y,x); // fill stringgrid with values
end;
end;
finally
XLApp.ActiveWorkBook.Save;
XLApp.Quit;
XLAPP := Unassigned;
end;
end;
end.
ono sto bih mogao jeste da vezem dbgrid sa stringridom,pa onda u excel ali je dupli posao.....mora da postoji moigucnost direktno
procedure TForm1.Button1Click(Sender: TObject);
Var XLApp: OLEVariant;
x,y: byte;
path: variant;
begin
XLApp := CreateOleObject('Excel.Application'); // requires comobj in uses
try
XLApp.Visible := False; // Hide Excel
XLApp.DisplayAlerts := False;
path := 'C:\Documents and Settings\milan.PTT-0847394BE93\Desktop\New Folder\test.xls';
XLApp.Workbooks.Open(Path); // Open the Workbook
for x := 1 to 4 do
begin
for y := 1 to 6 do
begin
XLApp.Cells[x,y].Value := stringgrid1.Cells (y,x); // fill stringgrid with values
end;
end;
finally
XLApp.ActiveWorkBook.Save;
XLApp.Quit;
XLAPP := Unassigned;
end;
end;
end.
ono sto bih mogao jeste da vezem dbgrid sa stringridom,pa onda u excel ali je dupli posao.....mora da postoji moigucnost direktno
Trebalo bi da to sto radis sa TStringGrid mozes uraditi sa TDataSet. TDBGrid bi trebao da ima DataSource.DataSet pa mozes kroz to da iteriras i radis slicno kao sto radis sa TStringGrid.
Mozda ovaj link moze da pomogne:
http://lists.elists.org/piperm...talk/2005-February/020131.html
Mozda ovaj link moze da pomogne:
http://lists.elists.org/piperm...talk/2005-February/020131.html
Mislis dbgrid1.datasource.dataset;..probao i to nece....
> Sve je to u novijim Delphijima,nema niosta za starije varijante..
Ako ne možeš ADO koristiti onda sigurno možeš ručno kreiranje OLE objekta, vidim da si i slao jedan takav primer.
> Mislis dbgrid1.datasource.dataset;..probao i to nece...
Nešto ti ne radiš dobro, pre svega tebi se podaci nalaze u nekom TDatasetu (TTable, TQuery itd.), DBGrid samo prikazuje podatke iz dataseta. Nema ni jednog razloga da export u Excel radiš iz DBGrida a ne iz Dataseta. Otprilike ovako:
Code:
var
E: OLEVariant;
i: Integer;
begin
E := CreateOleObject('Excel.Application');
try
E.Visible := True;
E.WorkBooks.Add;
Table1.First;
while not Table1.Eof do
begin
for i := 0 to Table1.FieldCount - 1 do
E.ActiveCell.Item[Table1.RecNo, i + 1].Value := Table1.Fields[i].AsString;
Table1.Next;
end;
finally
E.Quit;
end;
var
E: OLEVariant;
i: Integer;
begin
E := CreateOleObject('Excel.Application');
try
E.Visible := True;
E.WorkBooks.Add;
Table1.First;
while not Table1.Eof do
begin
for i := 0 to Table1.FieldCount - 1 do
E.ActiveCell.Item[Table1.RecNo, i + 1].Value := Table1.Fields[i].AsString;
Table1.Next;
end;
finally
E.Quit;
end;
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Da,to je taj kod...Hvala....
I JOSi jos nesto,kako da prilikom prebacivanja prebacim i nazi kolona iz dbgrida ili tabele....da bude na vrhu kolone u excelu....Hvala