Запись в диапазон
Элемент записывает данные из переменной типа DataTable в диапазон ячеек листа книги Excel. Для корректной работы следует поместить элемент в контейнер Microsoft 365.
Свойства
Описание общих свойств элемента см. в разделе Свойства элемента .
Символ * в названии свойства указывает на обязательность его заполнения.
| Свойство | Тип | Описание |
|---|---|---|
| Параметры: | ||
| Лист* | String | Имя листа. По умолчанию "Sheet1" |
| Книга* | DriveItem | Книга Excel. См. Общие свойства элементов |
| Диапазон* | String | Адрес диапазона, например "A2:C11" |
| Значение* | DataTable | Записываемые данные |
Важно: Размер диапазона должен точно совпадать с размером данных: количество строк диапазона — с количеством строк DataTable, количество столбцов — с количеством столбцов. Например, для таблицы из 10 строк и 3 столбцов, записываемой начиная с ячейки A2, укажите "A2:C11".
Примечание: Записываются только строки DataTable. Имена столбцов не записываются — если на листе нужна строка заголовков, запишите ее отдельно или добавьте первой строкой в DataTable.
Практические примеры
Пример 1: запись данных под заголовками
- Лист:
"Лист1" - Книга:
book - Диапазон:
"A2:C" + (data.Rows.Count + 1) - Значение:
data
Пример 2: расчет адреса по размеру данных
Для записи начиная с произвольной ячейки (например, B5) адрес можно вычислить выражением:
"B5:" + (char)('B' + data.Columns.Count - 1) + (5 + data.Rows.Count - 1)Выражение подходит для таблиц, последний столбец которых не выходит за пределы столбца Z.
Для добавления строк в конец данных без расчета адреса используйте Добавить диапазон.
Возможные ошибки
| Ошибка | Причина и решение |
|---|---|
Не указан диапазон / Не указано значение | Не заполнены обязательные свойства |
Sequence contains no elements | Лист с указанным именем не найден |
The number of rows or columns in the input array doesn't match the size or dimensions of the range | Размер диапазона не совпадает с размером DataTable |