Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Excel v ListBox [D7]


bambina ©   (2003-01-09 16:44:00) 

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
E: Variant;
begin
E := CreateOleObject("Excel.Application");
E.WorkBooks.open("D:\Irina\psc\src\KTR_TAB.xls",true);
for i := 2 to E.WorkBooks[1].WorkSheets[1].Rows.Count do
ListBox1.Items.Add(E.WorkBooks[1].WorkSheets[1].Cells[i,2]);
end;
a v chem oshibka? beskonechnij loop poluchaetsya..
thx


OlDemon   (2003-01-10 13:52:00) [1]

2 Игорь Шевченко>
А еще можно
NOils:=FExcel.ActiveCell.CurrentRegion.Rows.Count;
тоже выдаст количество строчек, но только не обязательно без пробелов, в общем в хелпе номально написано про CurrentRegion


Игорь Шевченко   (2003-01-10 13:12:00) [2]

Паша © (10.01.03 13:02)

Спасибо!

Век живи, век учись, однако...


Паша   (2003-01-10 13:02:00) [3]

var
rng, vExcel: Variant;
R,C: integer;
begin
..........
vExcel:= CreateOleObject("Excel.Application");
WorkSheet:=vExcel.ActiveSheet;
WorkSheet:=vExcel.ActiveSheet;

rng:=WorkSheet.UsedRange;
R:=rng.Rows.Count;
C:=rng.Columns.Count;
for i:= 1 to r do
....
в R сидит только кол-во ИСПОЛЬЗУЕМЫХ строк


Игорь Шевченко   (2003-01-09 17:54:00) [4]


> dolgo slishkom..


????
Ну, через интерфейсы :-))))


bambina   (2003-01-09 17:46:00) [5]

2 Shevchenko:
dolgo slishkom.. no za otsutstviem inogo..
thx


Игорь Шевченко   (2003-01-09 17:41:00) [6]

procedure TForm1.FormCreate(Sender: TObject);
var
I, J: Integer;
E: Variant;
S: String;
begin
E := CreateOleObject("Excel.Application");
E.WorkBooks.open("D:\test.xls",true);
J := E.WorkBooks[1].WorkSheets[1].Rows.Count;
for i := 2 to J do begin
S := E.WorkBooks[1].WorkSheets[1].Cells[i,1];
if S = "" then
Break;
ListBox1.Items.Add(S);
end;
end;


bambina   (2003-01-09 17:23:00) [7]

2 Shevchenko:

do pustoj: Slishkom dolgo iz-za proverki..
do srezialnoj: otsutstvuet..


Игорь Шевченко   (2003-01-09 17:17:00) [8]

bambina © (09.01.03 17:15)

По содержимому. До пустой строки, например, или до специальной строки.


bambina   (2003-01-09 17:15:00) [9]

2 Shevchenko:
nu esli prosto zifry zadat, to da..

Izmenenie voprosa: kak mozhno poschitat strochki v Excel faile?


Игорь Шевченко   (2003-01-09 17:00:00) [10]

procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
E: Variant;
begin
E := CreateOleObject("Excel.Application");
E.WorkBooks.open("D:\test.xls",true);
// J := E.WorkBooks[1].WorkSheets[1].Rows.Count;
for i := 2 to 10 do
ListBox1.Items.Add(E.WorkBooks[1].WorkSheets[1].Cells[i,1]);
end;

Прекрасно работает


Игорь Шевченко   (2003-01-09 16:58:00) [11]

Rows.Count равно 65536.
Тебе надо иным способом определить, до какой строки читать


bambina   (2003-01-09 16:55:00) [12]

trassirovat ~ debugger?
Nu znachenie ne pokazivaet, kak ne povernis... no i oshibku na stroku ne vivodit


RWolf   (2003-01-09 16:53:00) [13]

тогда - трассировать, смотреть значение E.WorkBooks[1].WorkSheets[1].Rows.Count


bambina   (2003-01-09 16:51:00) [14]

2 RWolf:
ne pomogaet....


RWolf   (2003-01-09 16:47:00) [15]

перед циклом:
ListBox1.Items.BeginUpdate;
после цикла:
ListBox1.Items.EndUpdate;


Наверх

Титульная страница Поиск, карта сайта Написать письмо