Excel не импортирует GUID (уникальные идентификаторы) при импорте данных с использованием функции «Внешние данные»

Excel не импортирует GUID (уникальные идентификаторы) при импорте данных с использованием функции «Внешние данные»

Когда я пытаюсь использовать Excel 2013 для импорта внешних данных из источника данных SQL Server, идентификаторы GUID не импортируются.

Запрос, который я использую:

SELECT * FROM TABLENAME

Структура таблицы:

ThingId uniqueidentifier,
ThingName nvarchar(50)

Когда я явно прошу Excel импортировать только uniqueidentifier, он ничего не импортирует (запрос):

SELECT ThingId from TABLENAME

Как заставить Excel импортировать уникальные идентификаторы (GUID) при использовании функции «Внешние данные»?

решение1

Excel (по причинам, которые я пока не определил), не может обрабатывать импортированные Guids нативно. Чтобы импортировать GUID из SQL Server, сначала необходимо изменить запрос на CAST Guid в nvarchar. Запрос к источнику данных изменится на:

SELECT CAST(ThingID as nvarchar(100)), ThingName from TABLENAME

Функция CASTгарантирует, что GUID находится в формате, который Excel интерпретирует как текст. Подойдет любой формат, который выводит текст; он не обязательно должен быть nvarchar.

Связанный контент