Re: вопрос про bde & excel & builder

ira90

кто-нибудь знает как работать с excel таблицами в delphi ?

viktor954

Примерноо вот так:


var
WorkSheet:Variant;
j,k:integer;
Excel:Variant;
prdir,EOB:string;
r:TRegistry;
begin
EOB:='Excel.Application';
r:=TRegistry.Create;
r.RootKey:=HKEY_CLASSES_ROOT;
try
if r.OpenKey('\Excel.Application\CurVer',false) then
begin
EOB:=r.readString('');
r.closekey;
end
finally
r.free;
end;
Excel:=CreateOleObject(EOB);
Excel.Visible:=false;
Excel.Workbooks.Open(finame);
WorkSheet:=Excel.WorkBooks[1].WorkSheets[1];
for k:= 1 to WorkSheet.Cells.CurrentRegion.Rows.Count do begin
writeln(fo,'<tr>');
for j:=1 to worksheet.cells.currentregion.columns.count do begin
if not varisnull(vartostr(worksheet.cells[k,j] then
writeln(fo,'<td>'+vartostr(worksheet.cells[k,j]
else
writeln('<td><br>');
end
end;
excel.workbooks.close;
excel.quit;
end;
end;

ira90

Вероятно ты где-то ошибся т.к. С-шный аналог этого 6-ой builder не ест по причине отсутствия поля workbooks в Variant, т.е. Excel.workbooks неверно.

yolki

Если он Variant, то надо как-нибудь так:
TExcelApplication)Excel).WorkBooks....
и вообще,
http://www.delphikingdom.ru/helloworld/excel.htm
http://www.delphikingdom.ru/helloworld/excel2.htm
http://www.delphikingdom.ru/helloworld/excel3.htm
http://www.delphikingdom.ru/helloworld/excelsm.htm
С всё-таки case-sensitive

viktor954

Я НЕ ОШИБСЯ! Это кусок РАБОТАЮЩЕЙ ПРОГРАММЫ! Builder SUXX!

gopnik1994

он не может работать, т.к. excel.workbooks.close; не будет работать...

viktor954

Я не знаю, будет это работать или нет, но я за программу, куском которой является эта фигня получил денежку на рыбоньку с пивком...
Честно говорю, по поводу .Close я в хелпе к VB не смотрел, но все остальные свойства и методы взяты из Help к VB из состава MSExcel97....
+ может .Close и не работает, но сервер-то(Excel т.е.) не ругается!
Оставить комментарий
Имя или ник:
Комментарий: