Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Excel - Delphi Citanje

[es] :: Pascal / Delphi / Kylix :: Excel - Delphi Citanje

[ Pregleda: 3467 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Tomju
Tomislav Cuk
Zrenjanin

Član broj: 48571
Poruke: 26
*.zrlocal.net.



Profil

icon Excel - Delphi Citanje26.06.2006. u 08:34 - pre 196 meseci

Program bi trebalo da radi sledece:

Iz gomile (200 kom) xls tabela da cita po jedno polje i sabere ih. Citanje jednog fajla nije problem ali meni treba prolazak kroz sve tabele. Mislim da bi moglo da se odradi sa spiskom fajlova u txt datoteci.

Veci problem je sto su tabele zasticene tako da ako tabela vec nije otvorena u excel-u dobijam poruku "could not decrypt file" kada joj pristupam.

Konekcija je preko ADO-a

Ima li neko ideju za ove probleme, hvala
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2708



+84 Profil

icon Re: Excel - Delphi Citanje26.06.2006. u 19:58 - pre 196 meseci
> Iz gomile (200 kom) xls tabela da cita po jedno polje i sabere ih. Citanje jednog fajla nije problem ali meni treba prolazak kroz sve tabele.
> Mislim da bi moglo da se odradi sa spiskom fajlova u txt datoteci.

Ako su ti excel fajlovi grupisani u jednom diru ili imaju jedan osnovni dir onda se može koristiti FindFirstFile/FindNextFile pretraživanje.

> Veci problem je sto su tabele zasticene tako da ako tabela vec nije otvorena u excel-u dobijam poruku "could not decrypt file" kada joj pristupam.

Znaš li šifru?

> Konekcija je preko ADO-a
> Ima li neko ideju za ove probleme, hvala

Zašto ne probaš sa OLEom, mogu se otvoriti zaštićeni excel fajlovi i pročitati vrednosti koje trebaš.

Code:

var
  E: OLEVariant;

  function ReadCellValue(const AFileName: string): Variant;
  begin
    E.Workbooks.Open(AFileName, EmptyParam, True, EmptyParam, 'sifra');
    E.Visible := True;
    Result := E.Cells[1, 1].Value;
    E.ActiveWorkbook.Close;
  end;

begin
  try
    E := GetActiveOleObject('Excel.Application');
  except
    E := CreateOleObject('Excel.Application');
  end;

  Caption := ReadCellValue('J:\Temp\Proba.xls');

  E.Quit;


 
Odgovor na temu

Tomju
Tomislav Cuk
Zrenjanin

Član broj: 48571
Poruke: 26
*.zrlocal.net.



Profil

icon Re: Excel - Delphi Citanje28.06.2006. u 07:35 - pre 196 meseci
Da, imam sifru

Uspeo sam da napravim nesto preko office partner komponenti (nisam siguran da li imaju ogranicenja).

> ako su ti excel fajlovi grupisani u jednom diru ili imaju jedan osnovni dir onda se može koristiti FindFirstFile/FindNextFile pretraživanje.

Da, u istom su direktorijumu i to sam resio tako sto sam spisak fajlova stavio u .txt datoteku. Ajde ako mozes malo poblize FindFirstFile/FindNextFile


Hvala u svakom slucaju.
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.117.*



+2 Profil

icon Re: Excel - Delphi Citanje28.06.2006. u 09:44 - pre 196 meseci
Code:

var f:TSearchRec
begin
  if FindFirst('c:\mojfolder\*.xls',faAnyFile,f)=0 then    
    // citaj, saberi iz f.filename
  while FindNext(f)=0 do
    // citaj, saberi iz f.filename
  FindClose(F);




[Ovu poruku je menjao badam dana 28.06.2006. u 10:58 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Excel - Delphi Citanje

[ Pregleda: 3467 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.