# Импорт данных из Excel-файлов

Документ используется для загрузки данных из файла Excel в Лексему. Для открытия документа необходимо в Меню в поисковой строке ввести - "Импорт данных из Excel-файлов".

Откроется форма документа:

![Рисунок 1 Форма документа "Импорт данных из Excel-файлов"](./media/image1.png)

## Настройки

В блоке **Параметры Excel** необходимо заполнить:

- **Лист** - с какого листа в файле Excel будет произведен импорт данных;

- **Начальная строка** - номер строки в файле Excel, с которой начинать загрузку данных;

- **Шаблон** - выбрать из списка, если ранее шаблон был сохранен. Часто используемые шаблоны можно сохранить по кнопке "Сохранить шаблон", а затем выбирать их из шаблонов.

В блоке **Параметры таблицы** необходимо заполнить:

- Схема - при загрузке данных во временные таблицы оставить пустым, при необходимости загрузки в физическую таблицу со схемой, указать схему таблицу (схема должна быть создана и назначены права на нее);

- Таблица - наименование таблицы формируется автоматически, при необходимости можно указать свое имя временной или физической таблицы.

- Указать **"Добавить в таблицу столбец ID_Field bigint identity"** при необходимости создания столбца с автоматической нумераций строк

Для создания нового шаблона нужно заполнить таблицу "Соответствие столбцов". Для внесения нового значения нужно нажать кнопку "Добавить".

Первые два столбца - это наименование и тип столбцов в таблице SQL. Третий столбец: столбец файла Excel.

![Рисунок 2 Таблица "Соответствие столбцов"](./media/image2.png)

Тип данных | Описание | Пример
-----------|----------|-------
**bigint** (длинное целое) |  Этот тип данных используется для хранения очень больших целых чисел., если вам нужно хранить очень большие идентификаторы или числа, превышающие диапазон обычного целого числа, вы можете использовать bigint. |  12345678901234567890
**numeric(19,4)** (число с фиксированной точностью) |  Этот тип данных используется для хранения чисел с фиксированным количеством цифр в целой части и десятичной части. Он подходит для финансовых данных, таких как суммы или проценты с фиксированным количеством десятичных знаков. |  1234.5678
**date** (дата) |  Этот тип данных используется для хранения только даты без времени. Вы можете использовать его для хранения даты рождения, даты событий или любых других событий, связанных с календарной датой. |  2023-06-08
**boolean** (логическое значение) |  Этот тип данных имеет только два возможных значения: | истина (true) или ложь (false). Он используется для хранения и проверки логических состояний или флагов. |  true (истина) или false (ложь)
**timestamp** (временная метка) |  Этот тип данных представляет точку во времени. Он может использоваться для фиксации событий, записи времени или учета времени. |  2023-06-08 15:30:45
**double precision** (двойная точность) |  Этот тип данных представляет числа с плавающей запятой с высокой точностью и широким диапазоном значений. Он обычно используется для хранения чисел с десятичными значениями, где точность и широкий диапазон значений очень важны. |  3.14159 или 12345.67

Чтобы сохранить в шаблонах введенное соответствие, нужно ввести имя шаблона и нажать кнопку "Сохр":

![Рисунок 3 Сохранение шаблонов](./media/image3.png)

После внесения всех данных нажать кнопку "Загрузить" на панели инструментов. Откроется проводник. Выбрать подготовленный для загрузки файл и нажать "Open" ("Открыть").

![Рисунок 4 Загрузка файлов](./media/image4.png)

После загрузки данных система выдаст информационное сообщение.

![Рисунок 5 Загрузка файлов](./media/image5.png)

## Выполнить действия

На данной вкладке заполняются SQL скрипты которые необходимо будет произвести в системе базы данных. В блоке **Перед вставкой данных в таблицу:** указывается скрипт необходимых действий перед загрузкой данных из Excel, например, очистка столбцов в которые будут загружены новые данные.В блоке **После вставки данных в таблицу:** указывается скрипт необходимых действий с загруженными данными из Excel.