powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Как прочитать данные Excel файла с учетом фильтра
2 сообщений из 2, страница 1 из 1
Как прочитать данные Excel файла с учетом фильтра
    #37843743
FeeL86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть файл excel с данными с установленным фильтром по колонке. Не могу понять как реализовать цикл по отфильтрованному результату документа. Пока что реализовал обход всех данных с условием. Но если файл большой, это довольно длительная процедура.

Пример кода с условием:

Excel = Новый COMОбъект("Excel.Application");
xlLastCell = 11;
Результат = 0;

Попытка
Excel.WorkBooks.Open(ПутьКФайлу);
Состояние("Обработка файла Microsoft Excel...");
ExcelЛист = Excel.Sheets(1);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

ActiveCell = Excel.ActiveCell.SpecialCells(xlLastCell);
RowCount = ActiveCell.Row;
ColumnCount = ActiveCell.Column;

Для Row = 2 По RowCount-1 Цикл //Пропускаем первую строку заголовков и последнюю с итогами
Для Column = 1 По ColumnCount-4 Цикл //Нас интересуют первые 3 колонки из 7

Если Column = 1 Тогда //Это код сотрудника
ТабНомерСотрудника = СокрЛП(ExcelЛист.Cells(Row,Column).Text);
Сотрудник = Справочники.СотрудникиОрганизаций.НайтиПоКоду(ТабНомерСотрудника);

ИначеЕсли Column = 3 Тогда //Это результат начисления
Результат = ?(ExcelЛист.Cells(Row,Column).Text = "", 0, Число(ExcelЛист.Cells(Row,Column).Text));
КонецЕсли;

КонецЦикла;

Если Результат > 0 Тогда
НоваяСтрока = Начисления.Добавить();
НоваяСтрока.ТабельныйНомер = Сотрудник.Код;
НоваяСтрока.Сотрудник = Сотрудник;
НоваяСтрока.ПодразделениеОрганизации = Сотрудник.ПодразделениеОрганизации;
НоваяСтрока.Результат = Результат;
КонецЕсли;

КонецЦикла;

ФормаПрогресБар.Закрыть();
Excel.WorkBooks.Close();
Excel = 0;
...
Рейтинг: 0 / 0
Как прочитать данные Excel файла с учетом фильтра
    #37844188
LexaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FeeL86,

через ренж получаете область и одной командой получаете данные из Екселя в таблицу значений в 1С,
затем с полученной таблицей делаете что надо.

...
Область = ЛистЭксель.Range(ЛистЭксель.Cells(НомерПервойСтроки,1), ЛистЭксель.Cells(ВсегоСтрок, ВсегоКолонок));
тзДанные = Область.Value.Выгрузить();
...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Как прочитать данные Excel файла с учетом фильтра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]