Имя: Пароль:
1C
1С v8
Как узнать сколько строк на листе xls?
0 SherifSP
 
31.07.13
11:16
Есть ли какой метод, чтобы узнать сколько строк на листе xls?
1 Aleksey
 
31.07.13
11:17
на каком языке?
2 Капитан О
 
31.07.13
11:17
ПоследняяСтрока=Sheet.Cells.SpecialCells(11).Row;
3 Базис
 
naïve
31.07.13
11:17
Есть, в каждой обработке чтения файла XLS число строк определяется стандартным для экселя образом. Сам найдёшь образец или помочь?
4 ДенисЧ
 
31.07.13
11:18
Worksheet.UsedRange Property
Returns a Range object that represents the used range on the specified worksheet. Read-only.
Syntax

expression.UsedRange

expression   A variable that represents a Worksheet object.

Example


This example selects the used range on Sheet1.

Visual Basic for Applications
Worksheets("Sheet1").Activate
ActiveSheet.UsedRange.Select
5 shuhard
 
31.07.13
11:22
(0) лякго
через ADOX
6 SherifSP
 
31.07.13
11:25
Ну вот например я выгружаю данные в массив, но чтобы не вводить количество строк и количество колонок хочу определить их программным способом и подставить

Область = ЛистЭксель.Range(ЛистЭксель.Cells(1,1), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок));
        Данные = Область.Value.Выгрузить();
7 ptiz
 
31.07.13
11:27
ActiveSheet.UsedRange.Rows.Count
8 ptiz
 
31.07.13
11:28
(6)  Данные = Лист.UsedRange.Value.Выгрузить();
9 SherifSP
 
31.07.13
11:34
(8) А число колонок?
10 dk
 
31.07.13
11:39
(9) Row на Column поменяй в примерах выше
голову когда включать будем? )
11 ptiz
 
31.07.13
11:40
(9) Зачем тебе вообще количество колонок/строк? Выгрузится всё само через Лист.UsedRange.Value.Выгрузить()
12 SherifSP
 
31.07.13
12:16
Для Book = 1 По ВсегоЛистовВКниге Цикл
        Для Счетчик = 1 По ВсегоСтрок Цикл
            НоваяСтрока = ТЗ.Добавить();
        КонецЦикла;
        
        ЛистЭксель = Эксель.WorkSheets(Book);
        
        Область = Эксель.ActiveSheet.UsedRange.Rows.Count;
        Данные = ЛистЭксель.UsedRange.Value.Выгрузить();


Метод в (7)(8) только для 1 листа xls, а если несколько то как тогда быть?
13 dk
 
31.07.13
12:31
капец ленивый народ пошел
14 SherifSP
 
31.07.13
12:38
(13) Сделал уже, так это не удивительно, 1Сники все такие + ко всему очень жадные)
15 SherifSP
 
31.07.13
12:40
Область = ЛистЭксель.Range(ЛистЭксель.Cells(1,1), ЛистЭксель.Cells(ЛистЭксель.Cells(1,1).SpecialCells(11).Row,ЛистЭксель.Cells(1,1).SpecialCells(11).Column));
        Данные = Область.Value.Выгрузить();

Только немного дольше чем (0) отрабатывает
код в (0) 008,17 - текущий код 022,04 ( но думаю сэкономить время на свертке ТЗ
16 SherifSP
 
31.07.13
12:43
Есть ли способ быстрее выгрузить данные в массив?
17 SherifSP
 
31.07.13
12:44
Может индексация какая или еще что то?
18 SherifSP
 
31.07.13
12:49
Большая благодарность Ptiz способ в (8) самый быстрый и правильный )
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс