На протяжении многих лет мы связываем листы Excel с диапазонами Visio. На начальном этапе использовался Database Wizard, но с момента выхода Visio 2007 стала использоваться функция Link Data to Shapes. Не всегда удавалось получить полный список диапазонов и здесь мы решили выяснить почему.
Для начала, мы создали образец листа Excel 2010 со строкой заголовка, и 3 строки данных в Листе 1
Затем мы использовали функцию Visio 2010 Link Data to Shapes и просмотрели книгу для применения ссылки…
Разумеется, первый лист был внесен в список доступных для добавления ссылки в диалоговом окне Data Selector:
Имена столбцов и выборочные значение были показаны, как и ожидалось:
Убедившись, что все работает, как следует, мы отменили диалог и вернулись к Excel, где использовали кнопку Format as Table
Быстрый взгляд на диалоговое окно Name Manager показал, что эта функция создает именованный диапазон под названием Table1:
Если после этого мы создадим именованный диапазон, охватывающий те же клетки в этой таблице, тогда Excel 2010 по умолчанию будет создавать примерно такую таблицу, как показана ниже:
Таким образом, мы создаем диапазон под названием Names путем выбора клеток в Excel и после этого заканчиваем с таблицей и именованным диапазоном, который относится к этой таблице:
К сожалению, ни один из этих диапазонов не появляется в Visio при попытке связаться с ними с помощью Data Selector. Решением этой задачи будет изменение Refers To для Names , чтобы использовать ссылки на ячейки, а не ссылки на таблицу:
Кроме того, вы можете убрать галочку Use table names in formulas в Excel до создания именованного диапазона. Это будет иметь тот же эффект, как редактирование Refers To вручную:
Теперь, когда диапазон Names не использует новую функцию Table в Excel 2010, он становится видимым в диалоговом окне Data Connector в Visio:
Следовательно, мы могли бы связать имя диапазона в качестве External Data Recordset в Visio: