![]() |
|
Чтение эксель всегда тормозит, или я не умею? | ☑ | ||
---|---|---|---|---|
0
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С на это способна. Может я что не так делаю? |
|||
1
OldCondom
21.09.18
✎
17:11
|
база на ssd, amd a12-9720p, 8 гиг оперативки.
На нем же postgre и сервер 1с. Цп загружен на 40%, оперативки свободно 3гб |
|||
2
Fram
21.09.18
✎
17:11
|
сущесвует 100500 более быстрых способов.
читать сразу область через Array загрузить в табдокумент через ADO ... |
|||
3
Cool_Profi
21.09.18
✎
17:12
|
ADODOB рулитЪ
|
|||
4
OldCondom
21.09.18
✎
17:12
|
>>загрузить в табдокумент
КАК? Он же перебором строк и загружает |
|||
5
Tatitutu
21.09.18
✎
17:13
|
вот на это замени
Диапозон = Ехсел.Sheets(Лист).Cells; КоличествоСтрок = Диапозон.SpecialCells(11).Row; КоличествоКолонок = МАКС(Диапозон.SpecialCells(11).Column,13); |
|||
6
OldCondom
21.09.18
✎
17:13
|
пошел про ado читать
|
|||
7
Вафель
21.09.18
✎
17:13
|
может долго выполняются действия с прочитанными данными
|
|||
8
OldCondom
21.09.18
✎
17:15
|
(5) Type Required XlCellType The cells to include.
Типа пятница и т.д.? |
|||
9
Tatitutu
21.09.18
✎
17:21
|
(8) полностью рабочий вариант "умело кушаешь" 250 000 строк и очень быстро
где у тебя это выдает ? |
|||
10
shuhard
21.09.18
✎
17:22
|
(0)[Может я что не так делаю?]
угу Excel.Application полный отстой |
|||
11
igork1966
21.09.18
✎
17:23
|
(6) Если у тебя xlsx то может их открыть табличным документом проще?
COM он тормозной по определению. |
|||
12
igork1966
21.09.18
✎
17:27
|
(11) + если тебе из xlsx нужны только данные ячеек, То вообще можно разобрать как xml
|
|||
13
palsergeich
21.09.18
✎
17:32
|
Я читал огромных размеров Excel файл через ADO. 40 секунд весь файл в память прочитался. Интерактивно и через COM он тупо не открывался. В Вашем случае Excel.Application это не тот инструмент который нужен
|
|||
14
OldCondom
21.09.18
✎
17:34
|
Ой. АДО за 30 секунд перебрало
|
|||
15
OldCondom
21.09.18
✎
17:34
|
Всем спасибо. Я просто дальше одноЭС ничего не знаю
|
|||
16
arsik
гуру
21.09.18
✎
17:46
|
(15) Все правильно. Ты же OldCondom
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |