Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 июн 2021, 12:19

Чтение файла ексель и загрузка его в таблицу значений

Автор Igor100500, 06 окт 2016, 13:36

0 Пользователей и 1 гость просматривают эту тему.

Igor100500

Здравствуйте, подскажите пожалуйста, что не так(обработка во вложении)
Пытаюсь сделать обработку которая читает файл екселя(xlsx) и загружает в таблицу значений.
Написал, ошибок нет, но тз не создается, чего может не хватать?

LexaK

вы крайне не оптимально загружаете ексель, ни кто вложенными циклами по строчкам и ячейкам не грузит данные из екселя,
в екселе можно одним методом получить сразу все массивы данных (по столбцам) и уже их разложить по строчкам вашей таблицы ТЗ (ну или ТД)
в вашу обработку вставил процедуру по чтению данных их екселя (сама процедура из обработки ЗагрузкаДанныхИзТабличногоДокумента_УФ) это для примера.
вы легко (надеюсь) сможете ее доработать для своей задачи.
ответ Понравился? (в смысле пригодился?)

Igor100500

Цитата: LexaK от 06 окт 2016, 15:41
вы крайне не оптимально загружаете ексель, ни кто вложенными циклами по строчкам и ячейкам не грузит данные из екселя,
в екселе можно одним методом получить сразу все массивы данных (по столбцам) и уже их разложить по строчкам вашей таблицы ТЗ (ну или ТД)
в вашу обработку вставил процедуру по чтению данных их екселя (сама процедура из обработки ЗагрузкаДанныхИзТабличногоДокумента_УФ) это для примера.
вы легко (надеюсь) сможете ее доработать для своей задачи.
ну...эт я нашел якобы универсальное чтение данных екселя.
Ту обработку что мне скинули то .... она загружает в Таб. документ - в него я знаю как заливать(можно тупо взять процедуры и функции из унивесальных обработок), у меня проблема как эти данные в таб. значений передать

LexaK

так в этом примере вам всего пару команд заменить на нужные!
(если это такая большая трудность для вас, тогда ... даже не знаю) <_<
ладно, тогда забейте, хотел как лучше.
ответ Понравился? (в смысле пригодился?)

cska-fanat-kz

LexaK, "лкМассивы = лкЛист.UsedRange.Value.Выгрузить();"
прикольный метод.

всю жизнь грузил циклом с помощью
    ЗначениеЯчейки = ФайлЭксель.Sheets(1).Cells(СчСтроки,Ш).Value;

и каждый раз приходится в какой-нибудь колонке проверять на пустоту или на определенное значение чтобы знать где остановиться.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Igor100500

Цитата: LexaK от 06 окт 2016, 16:32
так в этом примере вам всего пару команд заменить на нужные!
(если это такая большая трудность для вас, тогда ... даже не знаю) <_<
ладно, тогда забейте, хотел как лучше.
Вот так правильнее считывать в таб док
У тебя код помещает сгруппированные колонки отдельно - тоесть 1 колонка "Колба", 2 колонка "са 120к", 3 колонка "г 1 шт."
замучаешься потом обращаться) (во вложении кинул)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск