Почему некоторые данные заголовка таблицы отсутствуют при импорте в Excel с помощью Data Connection - PullRequest
2 голосов
/ 15 мая 2019

У меня есть рабочая книга, которую необходимо подключить к двум другим рабочим книгам для извлечения данных и их суммирования.

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

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

Цель этого листа - собрать данные из обоих источников и суммировать их по каждому агенту с некоторыми элементами, такими как квалификаторы бонусов, посещаемость, производительность и т. Д., А затем иметь возможность распечатывать отдельные листы как PDF и отправьте агенту.

В моем первом подключении к данным (в разбивке по бизнес-линиям) изначально отсутствовал заголовок 2-го столбца в исходной книге. Исходной таблицей была сводная таблица со срезом, который мог скрывать некоторые столбцы. Независимо от того, как я манипулировал исходным листом, только во 2-м столбце отсутствовали данные. Я исправил это, удалив подключение к данным и не установив новое подключение с «Первая строка содержит заголовки столбцов»

Мое второе соединение для передачи данных (посещаемость и производительность), мне не хватает заголовков для столбцов 3, 4, 5 и 9-13 (1, 2, 6, 7, 8 все отображаются). Исходной таблицей для этого является сводная таблица, но для столбцов нет среза (они статические).

Я пробовал как проверять, так и снимать флажок "заголовки таблиц". Если я проверю это, у меня НЕТ заголовков столбцов, но если флажок не установлен, результат будет указан выше.

Что я хотел бы знать: есть ли причина для этого или что-то, что я могу сделать, чтобы изменить это? Поскольку заголовки этого второго файла являются статическими, я реально могу работать без них, поскольку знаю, какими они будут, когда создаю код VBA, но для обеспечения будущего я хотел иметь возможность подстраиваться под любые изменения на лету, не имея отредактировать код.

Как новый пользователь, у меня нет репутации публиковать изображения, но я связался с изображениями здесь:

Это образец моей исходной таблицы:

Это то, что я получаю, когда я соединяюсь с «Data Connection»

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

1 Ответ

1 голос
/ 18 июня 2019

В случае, если кто-то еще сталкивается с этим, я думаю, что нашел решение. Существует ограничение ODBC, когда столбец имеет смешанные режимы данных. Поскольку мои заголовки были текстовыми, но все данные были числовыми (двойной тип данных), запрос возвращает NULL для текстовых полей и игнорирует их в моей таблице.

Настройка IMEX исправляет это. Установка IMEX = 1 в расширенных свойствах позволяет смешивать типы данных. Пример:

Extended Properties="HDR=Yes;IMEX=1;"

Для меня это не решило мою проблему самостоятельно. Когда я удалил свою таблицу, изменил свойство соединения, а затем создал новую таблицу из существующего соединения, все импортировалось как следует.

Надеюсь, кто-то найдет это полезным однажды.

...