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

Вниз

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

 
bambina ©   (2003-01-09 16:44) [0]

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


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

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


 
bambina ©   (2003-01-09 16:51) [2]

2 RWolf:
ne pomogaet....


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

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


 
bambina ©   (2003-01-09 16:55) [4]

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


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

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


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

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;

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


 
bambina ©   (2003-01-09 17:15) [7]

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

Izmenenie voprosa: kak mozhno poschitat strochki v Excel faile?


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

bambina © (09.01.03 17:15)

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


 
bambina ©   (2003-01-09 17:23) [9]

2 Shevchenko:

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


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

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:46) [11]

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


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


> dolgo slishkom..


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


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

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-10 13:12) [14]

Паша © (10.01.03 13:02)

Спасибо!

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


 
OlDemon ©   (2003-01-10 13:52) [15]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.027 c
14-62833
Plugin
2003-01-02 07:36
2003.01.20
Чуваки! я малость не продвинутый...


3-62435
Senator
2002-12-26 17:01
2003.01.20
восстановление связи с СУБД


6-62699
kalishenko stas
2002-11-19 17:45
2003.01.20
Запуск любого приложения на удал. клиенте


4-62948
dimmu3
2002-12-02 08:42
2003.01.20
как сделать, чтобы для формы в приложении на taskbar е отображала


1-62555
VID
2003-01-10 01:28
2003.01.20
Обмануть TMEMO!