# Импорт файлов Excel ## Общий порядок действий 1. Перед началом импорта файла убедитесь, что у вас выбрана база данных, куда будет происходит сохранение данных из импортируемого файла Excel. Для этого включите опцию **_Включить сохранение excel_** в настройках соответствующей базы данных. ![Сохранение excel](./images/img08.png) 2. Импорт файла начинаем с нажатия кнопки **_Upload excel file_**, после чего произойдет переход на [стартовую страницу](https://demo.glarus-analytics.ru/fileupload) с выбором режима импорта файла и кнопкой **_Загрузить файл_**. ![Стартовая страница](./images/img01.png) 3. После нажатия кнопки **_Загрузить файл_** в открывшемся стандартном диалоговом окне выбора файла выбираем нужный файл Excel. ![Диалог открытия](./images/img02.png) 4. После выбора импортируемого файла диалог открытия файла закрывается, и мы вновь возвращаемся на предыдущую страницу, на которой теперь добавилась кнопка **_Загрузить другой файл_**, функциональность которой следует из ее названия. Если вы осознали, что выбрали не тот файл, что надо - воспользуйтесь ею. ![Файл выбран](./images/img03.png) 5. Повторное нажатие кнопки **_Загрузить файл_** приводит к импорту выбранного файла с учетом выбранного режима. Все имеющиеся в файле листы будут импортированы в виде отдельных таблиц с именами вида _%ExcelFileName%/%SheetName%_. 6. При успешной загрузке будет выведено диалоговое окно с текстом "Загрузка завершена успешно!" и двумя кнопками: **_Закрыть_** и **_Перейти на страницу базы данных_**. Нажатие кнопки **_Закрыть_** закрывает сообщение, переводя систему в п.1. ![Файл загружен](./images/img04.png) 7. При нажатии на кнопку **_Перейти на страницу базы данных_** откроется список загруженных ранее таблиц. Найдем нужную, пролистав список, или воспользовавшись полем поиска в правом верхнем углу страницы. ## Режимы импорта файлов Импортировать файл можно одним из трех режимов: 1. "Перезаписать" - заменить ранее загруженный файл с тем же именем. 2. "Дополнить" – дописать данные в ранее загруженный файл с тем же именем. 3. "Создать новую БД с префиксом текущей даты" – добавить новый файл, при этом к именам таблиц будут добавлены дата и время импорта (пример см. на фото). ![Таблица с префиксом](./images/img05.png) ## Особенности режимов импорта файлов ### Таблица импортируется впервые - какой режим выбрать? В случае с _новой (впервые импортируемой под данным именем)_ таблицей можно использовать все 3 режима, результат будет одинаков. В этом (и только этом) случае в режиме "Создать новую БД с префиксом текущей даты" к именам таблиц дата и время импорта добавлены не будут. ### Режим "Создать новую БД с префиксом текущей даты" - важное отличие В режиме "Создать новую БД с префиксом текущей даты" к имени импортированной таблицы будет добавлена дата и время импорта _(кроме случая, когда эта таблица импортируется впервые)_. ![Таблица с префиксом](./images/img05.png) Какие возможности и ограничения это налагает? 1. Дальнейшая модернизация или перезапись данных в этой таблице невозможна, для этого вам придется ее удалить и импортировать заново. 2. Вам как раз нужна таблица в режиме "только для чтения"? Это именно тот случай! 3. Данный режим позволяет импортировать одну и ту же таблицу неограниченное количество раз, создавая отдельные экземпляры таблиц, что позволит фиксировать содержимое данной таблицы в разные моменты времени. 4. При этом наличие вышеперечисленных неизменяемых копий таблицы никак не мешает вам импортировать эту же таблицу в другом режиме и редактировать в ней данные по своему усмотрению. ## Требования к импортируемым файлам ### Допустимые форматы файлов Excel Основным Excel-форматом для импорта является стандартный формат **XLSX**. Также возможен импорт файлов **XLSM** (_Книга Excel с поддержкой макросов_), но файлы этого формата в диалоге выбора файла не отображаются. Файлы формата **XLS** (файлы Excel до версии 2003 включительно) и другие из числа форматов, создаваемых Excel'ем и аналогичными табличными редакторами, не импортируются. ### Какие символы допустимы в именах файлов В именах файлов разрешены любые символы, допускаемые операционной системой. Обратите внимание, что некоторые экзотичные символы могут быть проигнорированы и не попадут из имени файла в имя таблицы, при этом никаких сообщений об ошибке выдано не будет. В результате таблица окажется импортирована с именем, несколько отличающимся от ожидаемого. ### Файлы с очень длинными именами - особенности обработки Максимально допустимая длина имени файла (не считая расширения) - около 54 символов в зависимости от выбранного режима импорта. Ее превышение отдельно не отслеживается, и при превышении приводит к выдаче сообщения об ошибке: 1. В режимах "Перезаписать" и "Дополнить": _Загрузка завершена с ошибкой! Ошибка загрузки 500: Server Error_; ![Ошибка 500](./images/img06.png) 2. В режиме "Создать новую БД с префиксом текущей даты": _Загрузка завершена с ошибкой! Ошибка: Некорректный формат данных на вкладке: %SheetName%_. ![Загрузка с ошибкой](./images/img07.png) В случае с очень длинным (но допустимым) именем импортированного файла может возникнуть ситуация, когда будут превышены возможности графического интерфейса GlarusBI по его отображению (33 символа максимум), в результате чего отобразится только **часть** длинного имени, и у пользователя может сложиться **ошибочное** мнение, что в списке импортированных таблиц присутствуют таблицы с одинаковыми именами. ## Требования к названиям листов Требования к именам листов соответствует таковым в Excel, дополнительных ограничений не накладывается. ## Требования к именам столбцов таблицы 1. Имена столбцов создаваемой таблицы берутся из ячеек 1-й строки импортируемого файла, соответственно, ничего другого в этой строке быть не должно. 2. В названиях столбцов таблицы допускаются символы латинского и кириллического алфавита (в т.ч. символы расширенной кириллицы ("ё", "ъ", "ї" и т.п.)), цифры, знаки препинания и пр. 3. Если части названия столбца импортируемой таблицы разделены подчеркиваниями или тире, например, _"Поле_АБВ-клмн"_, то GlarusBI такое название рассматривает как набор слов и импортировано оно будет в виде _"Поле Абв Клмн"_, т.е. подчеркивания и тире заменяются пробелами; получившиеся части/слова начинаются с большой буквы, остальные буквы в каждом слове – маленькие. 4. Если в импортируемой таблице названия столбцов повторяются (например, несколько раз встречается _"ПолеА"_), то они будут импортированы в таком виде: _"ПолеА"_, _"ПолеА 2"_, _"ПолеА 3"_ и т.д. При сравнении имен столбцов импортируемой таблицы регистр символов не учитывается. 5. Наличие объединенных ячеек в 1-й строке приводит к ошибке: файл импортируется без ошибок, но потом войти в эту таблицу, содержавшую такие ячейки, невозможно, выводится сообщение об ошибке: _С вашим запросом возникла проблема_. При этом импортированные с других листов этого файла таблицы открываются корректно. ## Требования к импортируемым данным 1. Из ячеек с формулами импортируются значения. 2. При наличии хотя бы одной ячейки с ошибкой импорт **всего файла** не производится, выдается сообщение об ошибке: _Загрузка завершена с ошибкой! Ошибка: Невозможно импортировать данные на вкладке: %SheetName%_. ![Загрузка с ошибкой](./images/img07.png) 3. При несовпадении форматов столбцов импортируемой и уже существующей таблиц: - в режиме "Дописать" - импорт не производится, выдается сообщение об ошибке; - в режиме "Заменить" - производится замена структуры данных на новую без каких-либо предупреждений. 4. Пустых строки в импортируемом файле быть не должно. При их обработке не выдается никаких ошибок, но происходит потеря данных из последней/последних строк таблицы. 5. Наличие в импортируемом файле рисунков, графиков и т.п. допустимо и на процесс импорта не влияет. 6. Наличие в импортируемых данных объединенных ячеек допустимо, но они будут обработаны следующим образом: значение из объединенной ячейки будет размещено в левой верхней ячейке объединенной зоны, а остальные ячейки будут заполнены нулями/пустыми значениями.