![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;