Вход | Регистрация


Чтение эксель всегда тормозит, или я не умею?

Чтение эксель всегда тормозит, или я не умею?
Я
   OldCondom
 
21.09.18 - 17:07
Делаю на клиенте:

Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(Объект.ПутьКФайлу);
Excel.Sheets(1).Select();
КоличествоСтрок   = Excel.Cells.CurrentRegion.Rows.Count;
КоличествоКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);


Обхожу в цикле строки и колонки. Колонок 37, строк порядка 6к. 
Уже минут 20 крутит, периодически смотрю отладчиком. Ничего не зависло, просто долго перебирает.


У меня задача стоит в папке переварить штук 20 таких файлов, склеить, свернуть и прочие перделки. Но сейчас терзают сомнения, что 1С на это способна.

Может я что не так делаю?
 
 
   OldCondom
 
1 - 21.09.18 - 17:11
база на ssd, amd a12-9720p, 8 гиг оперативки.
На нем же postgre и сервер 1с.
Цп загружен на 40%, оперативки свободно 3гб
   Fram
 
2 - 21.09.18 - 17:11
сущесвует 100500 более быстрых способов.
читать сразу область через Array
загрузить в табдокумент
через ADO
...
   Cool_Profi
 
3 - 21.09.18 - 17:12
ADODOB рулитЪ
   OldCondom
 
4 - 21.09.18 - 17:12
>>загрузить в табдокумент
КАК? Он же перебором строк и загружает
   Tatitutu
 
5 - 21.09.18 - 17:13
вот на это замени

Диапозон = Ехсел.Sheets(Лист).Cells;
КоличествоСтрок = Диапозон.SpecialCells(11).Row;
КоличествоКолонок  = МАКС(Диапозон.SpecialCells(11).Column,13);
   OldCondom
 
6 - 21.09.18 - 17:13
пошел про ado читать
   Вафель
 
7 - 21.09.18 - 17:13
может долго выполняются действия с прочитанными данными
   OldCondom
 
8 - 21.09.18 - 17:15
(5) Type    Required    XlCellType    The cells to include.

Типа пятница и т.д.?
   Tatitutu
 
9 - 21.09.18 - 17:21
(8) полностью рабочий вариант "умело кушаешь" 250 000 строк и очень быстро
где у тебя это выдает ?
   shuhard
 
10 - 21.09.18 - 17:22
(0)[Может я что не так делаю?]
угу
Excel.Application полный отстой
 
 Рекламное место пустует
   igork1966
 
11 - 21.09.18 - 17:23
(6) Если у тебя xlsx то может их открыть табличным документом проще?
COM он тормозной по определению.
   igork1966
 
12 - 21.09.18 - 17:27
(11) + если тебе из xlsx нужны только данные ячеек, То вообще можно разобрать как xml
   palsergeich
 
13 - 21.09.18 - 17:32
Я читал огромных размеров Excel файл через ADO. 40 секунд весь файл в память прочитался. Интерактивно и через COM он тупо не открывался. В Вашем случае Excel.Application это не тот инструмент который нужен
   OldCondom
 
14 - 21.09.18 - 17:34
Ой. АДО за 30 секунд перебрало
   OldCondom
 
15 - 21.09.18 - 17:34
Всем спасибо. Я просто дальше одноЭС ничего не знаю
   arsik
 
16 - 21.09.18 - 17:46
(15) Все правильно. Ты же OldCondom

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует