Загрузка данных из Excel

Печать Стартовая страница

Прикладная задача «Загрузка данных из Excel» предназначена для конвертирования файлов Excel (xls,xlsx) в файлы DBF со связыванием данных из файла с объектами карты, а также переноса значений из ячеек файла Excel в семантики объектов.

 

xls2dbf_ru

 

Диалог прикладной задачи «Загрузка данных из Excel»

 

Главная панель

 

Главная панель содержит следующие кнопки:

button_exit – выход;

button_help2 – помощь;

button_xls2dbf – выполнить.

 

Директория сохранения файлов

 

На данной панели выбирается папка, в которую будут сохранены файлы DBF.

 

Параметры

На данной панели находятся галочки «Конвертировать в файл DBF» и «Перенести в семантики объектов», а также выпадающий список кодировок.

Если стоит галочка «Конвертировать в файл DBF», то файл Excel будет сконвертирован в файл DBF.

Если стоит галочка «Перенести в семантики объектов», то значения из ячеек файла Excel будут перенесены в соответствующие семантики объектов карты.

Если стоят обе галочки, то будет произведена и конвертация, и заполнение семантик.

Выпадающий список кодировок предназначен для выбора кодировки файла DBF. Данные в файл DBF могут быть записаны в кодировках ANSI и UTF-8.

 

Список файлов Excel

 

Список файлов Excel содержит информацию о файлах Excel, данные из которых будут переноситься в файл DBF и семантики объектов.

Кнопка «Добавить» добавляет в список файлы Excel, которые выбираются в стандартном диалоге выбора файлов.

Кнопка «Удалить» удаляет из списка выбранный файл Excel.

Список файлов Excel содержит следующие поля:

 

1. Номер – номер файла в списке.

2. Файл Excel – имя файла Excel.

3. Файл DBF – имя файла DBF. Значение этого поля можно изменить.

4. Карта – карта, из которой будут браться объекты. Если открыто больше одной карты, значение этого поля можно изменить в выпадающем списке.

5. Колонка Excel – заголовок колонки файла Excel, значения которой будут использоваться для связывания с объектами карты. Значение этого поля можно изменить в выпадающем списке.

6. Семантика карты – семантика карты, значения которой будут использоваться для связывания с данными из файла Excel. Значение этого поля можно изменить в диалоге выбора семантики.

 

Предполагается, что каждая строка файла Excel соответствует  объекту карты. Для каждой строки программа находит объект карты, значение выбранной семантики которого совпадает со значением выбранного столбца файла Excel.

 

При создании файла DBF, в него будут не только перенесены колонки файла Excel, но также будут добавлены следующие колонки:

 

1. LATITUDE – широта объекта в системе координат карты.

2. LONGITUDE– долгота объекта в системе координат карты.

3. LINKSHEET– название карты.

4. LINKOBJECT– номер объекта.

 

Если стоит галочка «Перенести в семантики объектов», то значения колонок файла Excel, заголовки которых совпадают с ключами семантик объекта, будут записаны в семантики объекта карты.

Если название колонки, выбранной для связывания, совпадает с ключом семантики, то в поле «Семантика карты» автоматически выбирается соответствующая семантика.

 

Пример

 

Для примера используем таблицу Excel «Buildings»

 

xls2dbf_table

 

Таблица Excel «Buildings»

 

При конвертировании для каждой строки будет найден соответствующий объект, если такой имеется на карте. Для первой строки, не считая строки заголовков, будет найден объект, показанный на рисунке.

 

xls2dbf_obj

 

Объект карты «Строение огнестойкое жилое»

 

Был найден именно этот объект, потому что для связывания использовался столбец «HOUSE_NUMB» и семантика «НОМЕРА ДОМОВ», как показано на рисунке 1, и значение столбца «HOUSE_NUMB» равно 4а, то есть значению семантики «НОМЕРА ДОМОВ» именно этого объекта карты.

Если стоит галочка «Перенести в семантики объектов», то значения столбцов «FLOOR_NUMB», «PDK» и «STATE_3» будут перенесены в соответствующие семантики объекта. Значение столбца «MATERIAL» перенесено не будет, так как у объекта нет семантики с таким ключом. У объекта не будет обновлена семантика «GENPL_NUMB», так как в конвертируемом файле нет столбца с таким заголовком.

Если стоит галочка «Конвертировать в файл DBF», то в файл DBF будет добавлена соответствующая строка. В колонки LATITUDE и LONGITUDE будут записаны координаты объекта в формате ГГГ°ММ'CC.CC, в колонку LINKSHEET – название карты «Quarter», а в колонку LINKOBJECT– номер объекта карты, у данного объекта номер равен 21.

Для остальных строк файла Excel будут проделаны те же действия.