Skip to Content

Чтение диапазона

Элемент считывает данные из диапазона ячеек листа книги Excel и сохраняет их в переменную типа DataTable. Для корректной работы следует поместить элемент в контейнер Microsoft 365.

Свойства

Описание общих свойств элемента см. в разделе Свойства элемента . Символ * в названии свойства указывает на обязательность его заполнения.

СвойствоТипОписание
Параметры:
Лист*StringИмя листа. По умолчанию "Sheet1"
Книга*DriveItemКнига Excel. См. Общие свойства элементов
ДиапазонStringАдрес диапазона, например "A1:D100". Если не заполнено — вся заполненная область листа
Тип значения-Что считывать из ячеек. Доступные значения: Values — значения, Formulas — формулы (для ячеек без формулы — значение), Text — текст в том виде, как он отображается в Excel, с учетом форматирования. По умолчанию Values
ЗаголовкиBooleanЕсли включено — первая строка диапазона используется как имена столбцов DataTable и не входит в данные. Если выключено — столбцы получают имена Column1, Column2 и т. д. По умолчанию выключено
Результат:
РезультатDataTableПеременная для сохранения прочитанных данных

Примечание: Все столбцы результата имеют тип String. В режиме Values числа возвращаются с точкой в качестве разделителя (12.5), даты — порядковым номером даты Excel (46289). Чтобы получить значения в том виде, как они отображаются в Excel (12,50, 24.09.2026), используйте режим Text.

Важно: При включенном свойстве Заголовки имена в первой строке диапазона должны быть уникальными.

Практические примеры

Пример 1: чтение таблицы с заголовками

  • Лист: "Лист1"
  • Книга: book
  • Заголовки: включено
  • Результат: data

Значение столбца «Сумма» первой строки — data.Rows[0]["Сумма"], количество строк — data.Rows.Count.

Пример 2: чтение фиксированного диапазона в отображаемом виде

  • Лист: "Реестр"
  • Книга: book
  • Диапазон: "A2:F50"
  • Тип значения: Text
  • Результат: data

Пример 3: преобразование значений

Число из режима Values:

double sum = double.Parse(data.Rows[0]["Сумма"].ToString(), System.Globalization.CultureInfo.InvariantCulture);

Дата из режима Values:

DateTime date = DateTime.FromOADate(double.Parse(data.Rows[0]["Дата"].ToString(), System.Globalization.CultureInfo.InvariantCulture));

Возможные ошибки

ОшибкаПричина и решение
Не указана книга / Не указан листНе заполнены обязательные свойства
Sequence contains no elementsЛист с указанным именем не найден. Проверьте имя листа ("Лист1" / "Sheet1")
A column named '...' already belongs to this DataTableПри включенных Заголовках в первой строке есть повторяющиеся имена
InvalidArgumentНеверный адрес диапазона
Last updated on