Excel Добавить поле на карту XML - PullRequest
9 голосов
/ 18 ноября 2011

У меня есть XML-карта на листе Excel 2010, которую я регулярно обновляю из содержимого XML-файла.Я недавно добавил новое поле в данные XML и хочу, чтобы это отображалось на моей карте XML.

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

Любая помощь приветствуется.

Ответы [ 3 ]

5 голосов
/ 22 ноября 2011

К сожалению, в настоящее время нет простого метода «обновления» для схемы в объектной модели XML в Excel. XML Toolbox для Excel 2003 имел обыкновение делать это, но я не уверен, работает ли он в Excel 2010 (стоит попробовать).Альтернативой этому является написание собственного кода VBA, который будет импортировать вашу «новую» схему в новую карту, а затем посмотреть на существующие карты элементов для «старой» схемы, а затем переназначить их в «новую» схему, окончательно удаливСтарый.Звучит немного странно, но я знаю, что если ваша схема существенно не изменится, то это может быть ответом.

Существует менее изящный метод, чем этот, который включает непосредственное изменение схемы в основном XML книги.Если вы загляните внутрь структуры книги в папке xl, вы увидите, что есть файл с именем xmlMaps.xml, и внутри этого файла будет копия вашей схемы - вы можете отредактировать ее напрямую (добавить новые элементы и т. Д.)..) и новые поля появятся для использования в вашей книге, когда вы снова откроете ее в Excel, оставив исходное форматирование ячейки без изменений.

4 голосов
/ 05 марта 2012

Я извлек xlsx в виде zip-файла и смог внести изменения вручную без необходимости удалять и снова добавлять сопоставления, следуя инструкциям на этом сайте: http://davidovitz.blogspot.com/2010/05/howto-refresh-xml-schema-in-excel.html

3 голосов
/ 19 августа 2014

Это не совсем то, что запрашивал OP, но в моем случае это сработало, поэтому я добавляю его в качестве вероятного решения (с использованием Office 2013)

  1. Щелкните правой кнопкой мыши на ленте и включите инструменты разработчика

enter image description here

  1. Перейдите в новый раздел Инструменты разработчика на ленте и нажмите Источник

enter image description here

  1. Откроется всплывающее окно с правой стороны. Элементы, выделенные жирным шрифтом, в настоящее время сопоставлены с вашими столбцами. Отметьте, где вещи отображаются, нажав на них. В моем случае это было довольно просто: первый элемент сопоставлялся со столбцом A и т. Д. Затем щелкните правой кнопкой мыши что-нибудь жирным шрифтом и снимите отображение.

enter image description here

  1. Нажмите кнопку XML Maps в нижней части всплывающего окна

  2. Нажмите Добавить и перейдите к файлу или введите URL

enter image description here

  1. Удалите старое отображение, если хотите

  2. Выделите все ваши новые элементы и щелкните правой кнопкой мыши, чтобы назначить новое отображение. Используйте заметки, которые вы записали ранее, чтобы сделать это. Опять же, мой случай был очень простым, так как столбцы были просто добавлены до конца. Если у вас есть столбцы, добавленные в середине, вы можете переназначить их в конец таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...