Форум: "Основная";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c