Условия и ограничения:
-
загружаемый файл с расширением .xlsx должен быть типа «xlsx» (создан в программе MS Excel или иной способной создавать файлы данного типа);
-
файл может содержать один или несколько листов – данные листы воспринимаются как независимые таблицы;
-
данные на каждом листе воспринимаются как одна плоская таблица. Варианты, когда на листе фактически несколько таблиц данных (разграничены пустыми столбцами или строками, линиями границ или цветовым выделением ячеек), не поддерживаются;
-
файл в ячейках может содержать формулы. Формулы должны корректно и без ошибок вычисляться при открытии в программе MS Excel. После загрузки в Систему ячейки с формулами будут восприняты как постоянные данные (полученные расчетом текущие значения);
-
объединение ячеек в строках при загрузке игнорируется. Значение из объединенных ячеек в строке присваивается первой ячейке по порядку слева направо, остальные заполняются пустыми значениями;
-
объединение ячеек в столбце при загрузке игнорируется. Значение из объединенных ячеек в столбце присваивается первой ячейке по порядку сверху вниз, остальные заполняются пустыми значениями;
-
одновременное объединение в ячейке строк и столбцов обрабатывается аналогично. Значение из объединенных ячеек присваивается первой ячейке по порядку сверху вниз и слева направо, остальные заполняются пустыми значениями;
-
первая строка на каждом листе (и только она) воспринимается как строка заголовков таблиц. Она должна содержать значения (будущие названия столбцов) во всех используемых столбцах. Сложные многострочные «шапки» таблиц, с объединениями строк и столбцов не поддерживаются. Доступно определение позиции строки заголовков с помощью параметра «СтрокаЗаголовка» (см. п. Параметры);
-
для восприятия столбцов как определенных типов данных (целое и дробные числа, текст, дата и время) данные типы явно определите в файле у всех строк столбца, кроме первой (заголовка). Все строки столбца (кроме первой) должны иметь один тип данных – иначе столбец будет интерпретирован как текст и в дальнейшем к этим данным не будут применимы математические операции агрегирования;
-
рекомендуется четко понимать необходимое (загружаемое) количество строк и столбцов. Лишние строки и столбцы (даже если они в MS Excel выглядят пустыми) – необходимо выделить и удалить до загрузки файла;
-
тип значений по умолчанию – «строка». По умолчанию пустые столбцы и строки (пустые ячейки) в MS Excel создаются с типом «Общий». Такие столбцы воспринимаются как данные типа «Строка» (текст);
-
игнорируются настроенные в Excel группировки строк и столбцов, фильтры, ширина, высота, выделение ячеек;
-
сводные таблицы Excel воспринимаются, но игнорируются различного рода возможности визуализации сортировки и фильтрации, доступные для них в интерфейсе MS Excel (например, выделение отступами по уровням);
-
настроенное в MS Excel скрытие столбцов и строк игнорируется;
-
в загружаемом файле не должно быть столбцов с одинаковыми наименованиями (к одинаковым наименованиям также относятся поля типа «код» и «kod», т.к. при создании модели для поля «код» сформируется наименование на латинице – «kod», что приведет к дублированию полей в таблице);
-
значение типа «Дата» или «Время» в Excel определяется как тип datetime64[ns] (Рисунок «Соответствие форматов для значений типа «Дата», Рисунок «Соответствие форматов для значений типа «Время»);
-
значение типа «Текстовый» в Excel (в форматах, перечисленных в таблице ниже (Таблица «Форматы и примеры значений»)) определяется как тип datetime64[ns, UTC] (Рисунок «Соответствие форматов для значений типа «Текстовый»).
Таблица 1. Форматы и примеры значений
№ Формат Пояснение Примеры 1 DD.MM.YYYY DD – день
MM – месяц
YYYY – год
hh – часы
mm – минуты
ss – секунды
(T|' ') – T или пробел – разделитель даты и времени
[.sss] – опциональная дробная часть секунды (количество цифр – произвольное)
[±hh[[:]mm]] – ±hh:mm, ±hhmm или ±hh – опциональный спецификатор смещения часового пояса
31.01.2022 2 DD-MM-YYYY 31-01-2022 3 DD/MM/YYYY 31/01/2022 4 YYYY.MM.DD 2022.01.31 5 YYYY-MM-DD 2022-01-31 6 YYYY/MM/DD 2022/01/31 7 DD.MM.YYYY hh:mm:ss 31.01.2022 20:06:01 8 DD-MM-YYYY hh:mm:ss 31-01-2022 20:06:01 9 DD/MM/YYYY hh:mm:ss 31/01/2022 20:06:01 10 YYYY.MM.DD(T|' ')hh:mm:ss[.sss][±hh[[:]mm]] -
2022.01.31 20:06:01
-
2022.01.31T20:06:01
-
2022.01.31T20:06:01.074297
-
2022.01.31T20:06:01+03:00
-
2022.01.31T20:06:01+0330
-
2022.01.31T20:06:01+3
11 YYYY-MM-DD(T|' ')hh:mm:ss[.sss][±hh[[:]mm]] -
2022-01-31 20:06:01
-
2022-01-31T20:06:01
-
2022-01-31T20:06:01.074297
-
2022-01-31T20:06:01+03:00
-
2022-01-31T20:06:01+0300
-
2022-01-31T20:06:01+3
12 YYYY/MM/DD(T|' ')hh:mm:ss[.sss][±hh[[:]mm]] -
2022/01/31 20:06:01
-
2022/01/31T20:06:01
-
2022/01/31T20:06:01.074297
-
2022/01/31T20:06:01+03:00
-
2022/01/31T20:06:01+0300
-
2022/01/31T20:06:01+3
-