Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 4.128 pregleda

Najnovija ↓

Re: Delphi i excel prebacivanje zbog stampe 10.09.2012. u 22:16 · pre 172 meseca #2
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;


Re: Delphi i excel prebacivanje zbog stampe 11.09.2012. u 00:55 · pre 172 meseca #5
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
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
Re: Delphi i excel prebacivanje zbog stampe 11.09.2012. u 11:40 · pre 172 meseca
izmenjeno 2 puta, poslednji put popmilan76 11.09.2012. u 12:13
  1. popmilan7611.09.2012. u 12:13zapis iz teksta poruke
  2. popmilan7611.09.2012. u 12:13zapis iz teksta poruke
#10
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
Re: Delphi i excel prebacivanje zbog stampe 11.09.2012. u 16:33 · pre 172 meseca #13

> 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;

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
Re: Delphi i excel prebacivanje zbog stampe 17.09.2012. u 18:02 · pre 171 mesec #15
I JOSi jos nesto,kako da prilikom prebacivanja prebacim i nazi kolona iz dbgrida ili tabele....da bude na vrhu kolone u excelu....Hvala
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme