Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Excel   Найти похожие ветки 

 
StarCon   (2003-04-02 13:55) [0]

Здравствуйте!
нужно пройтись в цикле по строкам экселевского листа
делаю так:
for r := 1 to XL.WorkBooks[1].WorkSheets[i].Cells.Rows.Count do
begin
if VartoStr(XL.WorkBooks[1].WorkSheets[i].Cells[r, 2]) <> ""
then RichEdit.Lines.Add(InttoStr(r) + " - " +
VartoStr(XL.WorkBooks[1].WorkSheets[i].Cells[r, 2]));
end;
но перебрать 65500 строк в экселе довольно долго
есль ли способ задать в цикл только задействованную область строк?


 
Smashich ©   (2003-04-02 13:58) [1]

Range?


 
StarCon   (2003-04-02 14:12) [2]

да хоть Range хоть просто Cells
проблема в том что изначально не известно 1 строка 50 или еще сколько... а перебирать приходиться все, сколько в экселе существует по умолчанию


 
Наталия ©   (2003-04-02 14:14) [3]

UsedRange посмотри


 
StarCon   (2003-04-02 14:21) [4]

негде посмотреть...
примерчик бы....


 
StarCon   (2003-04-02 14:22) [5]

спасибо!
нашел в поисковике


 
NickBat ©   (2003-04-02 14:24) [6]

А если так:

var
ISheet: Excel2000._Worksheet;
IRange: Excel2000.Range;

begin
ISheet:=Workbook.Worksheets.Item["Лист1"] as Excel2000._Worksheet;
IRange := ISheet.UsedRange[xlLCID];
for ii:=1 to IRange.Rows.Count do
tmp:=IRange.Item[ii,1].Value;




Страницы: 1 вся ветка

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-44342
[NIKEL]
2003-03-30 23:16
2003.04.14
Народ, а ну давайте делиться интересными ссылками :]


7-44465
Mehal'
2003-02-18 15:45
2003.04.14
Как напечатать содержимое WebBrowser ???


3-44074
T{}r(l-l
2003-03-25 17:33
2003.04.14
Проблемы с 7.0, DTS


6-44307
_MAD_
2003-02-15 23:19
2003.04.14
Дружда cgi и делфи


3-44016
SiJack
2003-03-24 15:21
2003.04.14
InplaceEditor