Взять таблицу / Take table
Группа действий: Офис
Действие сохраняет таблицу из документа в переменную типа Таблица
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры |
Контекст | Контекст для работы с документом | Robin.OpenTextDo c |
| Да |
Номер таблицы | Порядковый номер таблицы в документе. Порядок начинается с 1. Значение по-умолчанию 1 | Robin.Numeric |
| Нет |
С заголовком | Если значение «true», первая строка таблицы будет выделена отдельно как заголовок и не будет входить в строки с содержимым таблицы. | Robin.Boolean | true | Нет |
Убрать дубли заголовка | Если значение «true», в заголовке полученной таблицы к одинаковым названиям столбцов будут добавлены индексы. Нумерация начинается с 1. | Robin.Boolean | true | Нет |
Результаты |
Результат | Результирующая таблица | Robin.DataTable |
|
|
Особые условия использования
Для параметра "С заголовком":
Забираем таблицу:

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

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

При "Убрать дубли заголовка" = true, и "С заголовком" = True, действие "Взять таблицу" вернет таблицу из 4х строк и 5 столбцов. Названия столбцов этой таблицы будут:
"Тест31", "Тест21", "Тест22", "Тест32", "Тест1".
- При значении "false", названия столбцов останутся прежними. Действия на net, которые возвращают\обрабатывают такие таблицы с задублированными названиями столбцов, будут падать с ошибкой, т.к. в net не может быть заголовка с одинаковыми названиями столбцов.
- Например, в исходной таблице есть столбцы "Тест1", "Тест" и "Тест". Если добавлять индексы только к текущим дублям, то названия станут такими "Тест1", "Тест1" и "Тест2", т.е. в итоге появятся новые дубли с названием "Тест1". Поэтому действие при переименовании конкретного столбца должно проверять, нет ли уже такого названия у другого столбца и при наличии таких совпадений проставлять у текущего столбца следующий по счету индекс. Т.е. в данном случае действие переименует столбцы как "Тест1", "Тест2" и "Тест3".
Пример использования
Задача: существует файл test.docx. Необходимо открыть документ и получить оттуда таблицу с данными (таблица только одна в документе). Далее, сохранить документ и закрыть.
Решение: воспользоваться действием "Открыть", "Взять таблицу", "Сохранить", "Закрыть".
Реализация:
- Собрать схему робота, состоящую из действий: "Открыть", "Взять таблицу", "Сохранить", "Закрыть".

- Заполнить параметр действия "Открыть".
В поле "Путь к файлу" указать путь к файлу Описания проблем.docx

- Заполнить параметры для действия "Взять таблицу":
В поле "Контекст" указать созданный контекст в п.1
В поле "Номер таблицы" указать -1.
В поле "Результат" указать переменную типа "таблица", куда будет записана полученная таблица с данными.

- Заполнить параметр для действия "Сохранить".
В поле "Контекст" указать контекст открытого документа.

- Заполнить параметр "Контекст" для действия "Закрыть".

- Нажать на кнопку "Старт" в верхней панели.
Результат:
Программный робот отработал успешно. Таблица из документа успешно сохранена в переменную. Файл сохранен и закрыт.
