Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Взять таблицу Версия 14 (Net)

Группа действий: Excel 


Описание

Действие возвращает значения ячеек из заданной области страницы в виде таблицы.

Иконка

Параметры

Входные параметры  

Контекст                                                          Контекст действия для работы с Excel-документом

Имя столбца начальной ячейки                   Имя столбца начальной ячейки (начало диапазона), от которой будет установлена область.

Индекс столбца начальной ячейки              Индекс столбца начальной ячейки (начало диапазона), от которой будет установлена область.

Строка начальной ячейки                             Строка начальной ячейки (начало диапазона), от которой будет установлена область.

Имя столбца конечной ячейки                     Имя столбца конечной ячейки (конец диапазона), до которой будет установлена копируемая область.

Индекс столбца конечной ячейки                Индекс столбца конечной ячейки (конец диапазона), до которой будет установлена копируемая область.

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

Пропустить скрытые                                      Логическая переменная.

С заголовком                                                  Если значение «true», первая строка таблицы будет выделена отдельно как заголовок и не будет входить в строки с содержимым таблицы.

Убрать дубли заголовка                                 Если значение «true», в заголовке полученной таблицы к одинаковым названиям столбцов будут добавлены индексы.

Выходные параметры

Результат Переменная, в которую будут записаны данные диапазона

Настройки

Свойство

Описание

Тип

Пример заполнения

Обязательность заполнения поля

Параметры

Контекст

Контекст действия для работы с Excel-документом

Robin.Excel

Контекст excel

Да

Имя столбца начальной ячейки

Имя столбца начальной ячейки (начало диапазона), от которой будет установлена область. Если поле не заполнено, то берется значение из поля «Индекс столбца начальной ячейки».

Robin.String


Нет

Индекс столбца начальной ячейки

Индекс столбца начальной ячейки (начало диапазона), от которой будет установлена область. Если поле не заполнено, то берется граница используемой области.

Robin.Numeric


Нет

Строка начальной ячейки

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

Robin.Numeric


Нет

Имя столбца конечной ячейки

Имя столбца конечной ячейки (конец диапазона), до которой будет установлена копируемая область. Если поле не заполнено, то берется значение из поля «Индекс столбца конечной ячейки».

Robin.String


Нет

Индекс столбца конечной ячейки

Индекс столбца конечной ячейки (конец диапазона), до которой будет установлена копируемая область. Если поле не заполнено, то берется граница используемой области.

Robin.Numeric


Нет

Строка конечной ячейки

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

Robin.Numeric


Нет

Пропустить скрытые

Логическая переменная. Если значение параметра равно True, то возвращаются только видимые строки и столбцы, иначе - все.

Robin.Boolean

true

Нет

С заголовком

Если значение «true», первая строка таблицы будет выделена отдельно как заголовок и не будет входить в строки с содержимым таблицы.

Robin.Boolean

true

Нет

Убрать дубли заголовка

Если значение «true», в заголовке полученной таблицы к одинаковым названиям столбцов будут добавлены индексы. Нумерация начинается с 1.

Robin.Boolean

true

Нет

Результаты

Результат

Переменная, в которую будут записаны данные диапазона

Robin.DataTable



Особые условия использования

Для чек-бокса "С заголовком" 

Работа параметра: При значении "true" действие первую строку исходной таблицы сохранит в заголовок возвращаемого табличного значения, т.е. она не будет являться строкой с содержимым таблицы.
 При "false" первую строку оставит в части с содержимым таблицы, а в заголовке будут использоваться названия по умолчанию - 1, 2, 3 и т.д.

Пример:

Из excel забираем таблицу:

При включенном параметре в логе будет указано "Столбцов: 3; строк: 2", т.к. Первая строка взятой области стала заголовком с названиями столбцов "№", "Название" и "Тесты". К этим заголовкам нельзя обратиться как к строке данных, чтобы прочитать, но можно использовать имена столбцов, чтобы обратиться к конкретной ячейке или столбцу (действиями из группы "Таблицы"). Если параметр выключен, то в логе будет указано "Столбцов: 3; строк: 3", названия столбцов в заголовке будут "1", "2" и "3".

Для чек-бокса "Убрать дубли заголовка"

При значении "true", в заголовке табличного значения, которое действия возвращают как результат, к одинаковым названиям столбцов будут добавлены индексы. Нумерация начинается с 1. 
Пример №1:
В excel есть таблица:

При "Убрать дубли заголовка" = true, и "С заголовком" = True, действие "Взять таблицу" вернет таблицу из 10 строк и 4х столбцов. Названия столбцов этой таблицы будут "№", "Название робота", "Тесты1", "Тесты2".
Пример №2:
В excel есть таблица:

При "Убрать дубли заголовка" = true, и "С заголовком" = True, действие "Взять таблицу" вернет таблицу из 4х строк и 5 столбцов. Названия столбцов этой таблицы будут:

"Тест31", "Тест21", "Тест22", "Тест32", "Тест1".

При значении "false", названия столбцов останутся прежними. Действия на net, которые возвращают\обрабатывают такие таблицы с задублированными названиями столбцов, будут падать с ошибкой, т.к. в net не может быть заголовка с одинаковыми названиями столбцов.

Например, в исходной таблице есть столбцы "Тест1", "Тест" и "Тест". Если добавлять индексы только к текущим дублям, то названия станут такими "Тест1", "Тест1" и "Тест2", т.е. в итоге появятся новые дубли с названием "Тест1". Поэтому действие при переименовании конкретного столбца должно проверять, нет ли уже такого названия у другого столбца и при наличии таких совпадений проставлять у текущего столбца следующий по счету индекс. Т.е. в данном случае действие переименует столбцы как "Тест1", "Тест2" и "Тест3".

Пример использования

Задача

Существует 2 Excel - документа "Test" и "Test 1". Необходимо взять таблицу из документа "Test" и вставить ее в документ "Test 1" начиная с ячейки А3.

Решение

Воспользоваться действиями "Открыть", "Взять таблицу", "Вставить таблицу", "Сохранить". 

Реализация

  1. Собрать схему робота, состоящую из действий: "Открыть", "Взять таблицу", "Вставить таблицу", "Сохранить". 


  2. Настроить параметры для действия  "Открыть". В поле "Путь к файлу" указать путь до требуемого Excel-файла. Проставить чекбокс Видимый = true для отображения действий робота на экране. 


  3. Настроить параметры для действия "Взять таблицу". В поле "Контекст" указать контекст открытого документа, создать переменную типа "Таблица", в которую будут записаны данные и в поле "Результат" ее указать.  Остальные поля оставить пустыми, т.к необходимо забрать таблицу полностью. 


  4. Настроить параметры для действия "Открыть". В поле "Путь к файлу" указать путь до требуемого Excel-файла, в который необходимо будет вставить таблицу. Проставить чекбокс Видимый = true для отображения действий робота на экране. 


  5. Настроить параметры для действия "Вставить таблицу". В поле "Контекст" указать контекст открытого документа, в поле "Имя столбца начальной ячейки" указать значение "А", в поле "Строка начальной ячейки" указать значение "3". В поле "Таблица" указать ранее созданную переменную "Таблица" с данными. 


  6. Настроить параметры для действия "Сохранить". В параметре "Контекст" указать контекст Excel-документа, в который будет вставлена таблица с данными. 


  7. Запустить робота по кнопке "Старт" в верхней панели. 

Результат

Робот отработал успешно. 

В документ "Test 1" вставлена таблица начиная с ячейки А3. 

  • Нет меток