Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
FreePascal / Lazarus
|
Re: TStringList in Exceltabelle ausgeben
30. Jun 2009, 17:41
Hallo Ferox,
in den Untiefen meiner Sammlung hab ich das hier gefunden:
Delphi-Quellcode:
procedure STRINGL2EXCELFILE(ll:tstringlist;excfile:shortstring;trenner,EndofRecord:char);
var
i,j,pp: integer;
ez : integer;
excel : variant;
satz : ansistring;
zelle : ansistring; {!! Begrenzung kann auch ansistring sein!}
begin
try
excel:=createoleobject('EXCEL.APPLICATION');
except
showmessage('Excel kann nicht gestartet werden!');
exit;
end;
//excel.visible:=true; { visible nur für test-zwecke }
excel.workbooks.Add;
i:=0 ;
ez:=0; { excel-Zeilen}
repeat
satz:=ll[i];
while (i<ll.count-1) and (pos(EndofRecord,satz)=0) do begin
inc(i,1);
satz:=satz+ll[i];
end;
pp:=pos(trenner,satz);
j:=0;
if pp>0 then repeat
zelle:=''''+copy(satz,1,pp-1); { Textinterpretation erzwingen }
excel.activesheet.cells(ez+1,j+1):=zelle; {cells1..x/1..y }
delete(satz,1,pp);
inc(j,1);
pp:=pos(trenner,satz);
until (pp=0) or (length(satz)<1);
if length(satz)>0 then begin
if satz[length(satz)]=EndofRecord then
delete(satz,length(satz),1);
zelle:=satz;
excel.cells(ez+1,j+1):=zelle;
end;
inc(i,1);
inc(ez,1);
until i>ll.count-1;
excel.ActiveWorkbook.SaveAs(Filename:=excfile);
excel.ActiveWorkbook.Close;
end;{-- SRINGL2EXCELFILE -----------------------------------}
Das war ein Entwurf um ASCIIdelimiteds einzulesen. sollte nicht weiter schwer fallen, das anzupassen.
gruß
K-H
|
|
Zitat
|