Импорт из xml в excel

Трюк №95. Загрузка документа XML в Excel

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

В последние несколько лет язык XML (Extensible Markup Language, букв, «расширяемый язык разметки») стал распространенным форматом обмена информацией, и нет ничего необычного в том, что люди и организации отправляют друг другу файлы XML. Простые структуры, лежащие в основе XML, делают обмен информацией чрезвычайно простым, причем неважно, используют ли все стороны одно и то же программное обеспечение и браузеры. Однако до недавних пор, хотя общие утилиты XML стали широко распространены, заполнить пробел между документами XML и пользовательским интерфейсом было еще достаточно трудно. Microsoft Excel упрощает эту задачу, по крайней мере, для данных в сетке таблицы.

В этом трюке используются возможности Excel, доступные только в Excel для Windows старше 2003 года. Более ранние версии Excel не поддерживают их; эти возможности не поддерживаются и в существующих, и планируемых версиях Excel для Macintosh.

Начнем с простого документа XML, приведенного в листинге 8.1.

// Листинг 8.1. Простой документ XML для анализа в Excel 2003-10-05 0596005385 Off1ce 2003 XML Essentia1s

34.95 200 Zork’s Books

2003-10-05 0596002920 XML in a Nutshell. 2nd Edition

90 Zork’s Books 2003-10-05 0596002378 SAX2

300 Zork’s Books 2003-10-05 0596005385 Office 2003 XML Essentials

10 Books of Glory 2003-10-05 0596002920 XML in a Nutshell, 2nd Edition

25 Books of Glory 2003-10-07 0596002378 SAX2

5 Books of Glory 2003-10-18 0596002378 SAX2

15 Title Wave 2003-10-21 0596002920 XML in a Nutshell. 2nd Edition

15 Books for You

Этот документ можно открыть непосредственно в Excel командой Файл → Открыть (File → Open). Откроется диалоговое окно (рис. 8.1).

Рис. 8.1. Открытие файла XML в Excel

Если вы выберете переключатель XML-список (As an XML list), то увидите предупреждение, что Excel создаст собственную схему для этого документа, не имеющего схемы (рис. 8.2).

Рис. 8.2. Предупреждение Excel об отсутствии ссылок на схему

Щелкнув кнопку ОК, вы увидите, какой способ Excel выбрал для представления информации в открываемом документе в виде электронной таблицы (рис. 8.3). Обратите внимание, что Excel ожидает встретить формат даты, который используется для элемента даты, поэтому даты, импортированные как 2003-10-05, будут отображаться как 10/5/2003.

Рис. 8.3. Данные XML, представленные как XML-список в Excel

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

Раскрывающиеся списки в заголовках столбцов позволяют выбирать способ сортировки данных (по умолчанию данные выводятся в том порядке, в котором они записаны в исходном документе). Можно также включить отображение строки итогов Итог (Total); для этого можно воспользоваться панелью инструментов Список (List) или щелкнуть правой кнопкой мыши в любом месте списка и в контекстном меню выбрать команду Список → Строка итогов (List → Total Row). Когда строка итогов появится, выбрать вид итоговой информации можно будет в раскрывающемся меню (рис. 8.4).

Рис. 8.4. Выбор итогов для списка XML в Excel

Данные можно обновить, добавив при этом в обновляемую область информацию из документа XML с такой же структурой. Если у вас есть еще один документ с такой структурой, можете щелкнуть список правой кнопкой мыши, в контекстном меню выбрать команду XML → Импорт (XML → Import) и выбрать второй документ. Кроме того, после редактирования данные можно экспортировать обратно в файл XML, щелкнув список правой кнопкой мыши и выбрав в контекстном меню команду XML → Экспорт (XML → Export). Это превращает Excel в очень удобный инструмент редактирования простых XML-документов с табличной структурой.

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

// Листинг 8.2. Схема для данных о продаже книг

Обратите внимание, что элемент date определен как дата, а элемент ISBN определен как строка, а не как целое число. Если вы начнете с открытия этой схемы, а не документа, то заставите Excel загружать документ, сохранив ведущий нуль в ISBN.

На этот раз вы создадите список до загрузки документа XML, начав с пустого рабочего листа. Вам понадобится открыть область задач Источник XML (XML Source). Если она еще не открыта, нажмите сочетание клавиш Ctrl+Fl. Затем в раскрывающемся списке вверху области задач выберите Источник XML (XML Source) и вы увидите что-то похожее на рис. 8.6.

Рис. 8.6. Область задач Источник XML

Чтобы загрузить схему, щелкните кнопку Карты XML (XML Maps). Откроется диалоговое окно Карты XML (XML Maps) (рис. 8.7).

Рис. 8.7. Диалоговое окно Карты XML

Щелкните кнопку Добавить (Add), чтобы открыть схему, и выберите схему (рис. 8.8). Если схема не ограничивает документы одним начальным элементом, появится диалоговое окно с просьбой выбрать корневой элемент. Так как документы в этом примере начинаются с элемента sales, выберите «sales».

Рис. 8.8. Выбор XML-схемы

Когда вы щелкнете кнопку ОК, появится предупреждение о возможных сложностях с интерпретацией схем. XML-схема (XML Schema) — это огромная спецификация, поддерживающая чрезвычайно много структур, не отвечающих способу восприятия информации в Excel, поэтому в Excel есть некоторые ограничения.

В диалоговом окне Карты XML (XML Maps) Excel сообщит, что схема была добавлена к электронной таблице. Если вы щелкнете кнопку ОК, то вернетесь в главное окно Excel и в области задач Источник XML (XML Source) появится диаграмма, отображающая структуру схемы. Теперь, когда у вас есть структура, можно создать список. Самый простой способ сделать это, особенно с небольшими документами, как наш, — перетащить значок sales на ячейку А1.

Теперь, обустроив дом для данных, нужно заселить его. Можно щелкнуть кнопку Импорт XML-данных (Import XML Data) на панели инструментов Список (List) или щелкнуть правой кнопкой мыши список и в контекстном меню выбрать кнопку XML → Импорт (XML → Import). Если вы выберете файл, который уже открывали ранее (в листинге 8.1), то увидите результат, как на рис. 8.3. Обратите внимание на добавление ведущих нулей к значениям, которые теперь являются текстовыми, как и должно быть.

Элементы можно перетаскивать и по отдельности, если вы хотите поменять их местами, или помещать разные фрагменты информации в разные места электронной таблицы.

Читать еще:  Сравнение ячеек в excel

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

Вместо того чтобы подключаться к базе данных для интерактивного редактирования данных, пользователь сможет отредактировать файл XML, находясь в самолете, и передать его заказчику сразу же после приземления. Возможно, лучшее свойство новых возможностей XML Excel — это их гибкость. Пока данные организованы в структуру, соответствующую сетке таблицы, у Excel имеется совсем немного правил относительно того, какие виды XML можно передавать туда. Несколько раз щелкнув мышью и совершенно ничего не программируя, можно интегрировать данные XML в электронные таблицы.

Конвертация файлов XML в форматы Excel

XML является одним из самых распространенных форматов для хранения данных и обмена ими между различными приложениями. С данными работает и программа Microsoft Excel, поэтому очень актуальным является вопрос конвертации файлов из стандарта XML в форматы Excel. Выясним, как произвести эту процедуру различными способами.

Процесс конвертации

XML-файлы написаны на специальном языке разметки чем-то похожим на HTML веб-страниц. Поэтому у этих форматов довольно сходная структура. В то же время, Эксель – это в первую очередь программа, имеющая несколько «родных» форматов. Самые известные из них: Книга Excel (XLSX) и Книга Excel 97 – 2003 (XLS). Выясним основные способы конвертации файлов XML в эти форматы.

Способ 1: встроенный функционал Excel

Программа Excel отлично работает с файлами формата XML. Она может открывать их, изменять, создавать, сохранять. Поэтому самый простой вариант поставленной перед нами задачи — это открыть данный объект и сохранить его через интерфейс приложения в виде документов XLSX или XLS.

  1. Запускаем Эксель. Во вкладке «Файл» переходим по пункту «Открыть».

Активируется окно открытия документов. Переходим в директорию, где хранится нужный нам документ XML, выделяем его и жмем на кнопку «Открыть».

После того, как документ открыт через интерфейс Эксель, опять переходим во вкладку «Файл».

Открывается окно, похожее на окно для открытия, но с некоторыми отличиями. Теперь нам нужно сохранить файл. С помощью инструментов навигации переходим в директорию, где будет храниться преобразованный документ. Хотя можно его оставить и в текущей папке. В поле «Имя файла» при желании можно его переименовать, но это тоже не обязательно. Для нашей задачи основным является следующее поле – «Тип файла». Кликаем по этому полю.

Из предложенных вариантов выбираем Книга Excel или Книга Excel 97-2003. Первый из них более новый, второй – уже несколько устаревший.

  • После того, как выбор произведен, жмем на кнопку «Сохранить».
  • На этом процедура конвертации файла XML в формат Excel через интерфейс программы окончена.

    Способ 2: импорт данных

    Вышеописанный способ подходит только для файлов XML с самой простой структурой. Более сложные таблицы при конвертации таким способом могут быть переведены некорректно. Но, существует ещё один встроенный инструмент Excel, который поможет корректно произвести импорт данных. Он расположен в «Меню разработчика», которое по умолчанию отключено. Поэтому, прежде всего, его нужно активировать.

      Перейдя во вкладку «Файл», кликаем по пункту «Параметры».

    В окне параметров переходим в подраздел «Настройка ленты». В правой части окна ставим галочку около пункта «Разработчик». Жмем на кнопку «OK». Теперь нужная функция активирована, а соответствующая вкладка появилась на ленте.

    Переходим во вкладку «Разработчик». На ленте в блоке инструментов «XML» жмем на кнопку «Импорт».

    Открывается окно импорта. Переходим в директорию, где располагается нужный нам документ. Выбираем его и жмем на кнопку «Импорт».

    Далее может открыться диалоговое окно, в котором говорится, что выбранный файл не ссылается на схему. В нем будет предложено создать программе схему самостоятельно. В этом случае соглашаемся и жмем на кнопку «OK».

    Далее открывается следующее диалоговое окно. В нем предлагается определиться открывать таблицу в действующей книге или в новой. Так как мы запустили программу без открытия файла, то можем оставить данную настройку по умолчанию и продолжить работу с текущей книгой. Кроме того, это же окно предлагает определить координаты на листе, куда будет импортирована таблица. Можно вписать адрес вручную, но намного проще и удобнее просто кликнуть по ячейке на листе, которая станет верхним левым элементом таблицы. После того, как адрес занесен в поле диалогового окна, жмем на кнопку «OK».

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

  • Открывается окно сохранения, в котором нужно определить директорию, где будет храниться документ. Формат файла на этот раз будет уже предустановлен XLSX, но при желании вы можете раскрыть поле «Тип файла» и установить другой формат Эксель – XLS. После того, как настройки сохранения выставлены, хотя в данном случае они могут быть и оставленными по умолчанию, жмем на кнопку «Сохранить».
  • Таким образом, конвертация в нужном для нас направлении будет совершена с максимально корректным преобразованием данных.

    Способ 3: онлайн-конвертер

    Тем пользователям, у которых по какой-то причине не установлена на компьютере программа Эксель, но нуждающимся в срочном преобразовании файла из формата XML в EXCEL, можно воспользоваться одним из множества специализированных онлайн-сервисов для конвертации. Одним из наиболее удобных сайтов подобного типа является Convertio.

    1. Переходим на данный веб-ресурс с помощью любого браузера. На нем можно выбрать 5 способов загрузки конвертируемого файла:
      • С жесткого диска компьютера;
      • Из онлайн-хранилища Dropbox;
      • Из онлайн-хранилища Google Drive;
      • По ссылке из интернета.

    Так как в нашем случае документ размещен на ПК, то жмем на кнопку «С компьютера».

    Запускается окно открытия документа. Переходим в ту директорию, где он размещен. Кликаем по файлу и жмем на кнопку «Открыть».

    Существует также альтернативный вариант добавления файла на сервис. Для этого нужно просто перетянуть его название мышкой из Проводника Windows.
    Как видим, файл добавился на сервис и находится в состоянии «Подготовлено». Теперь нужно выбрать необходимый нам формат для конвертации. Кликаем по окошку рядом с буквой «В». Открывается список групп файлов. Выбираем «Документ». Далее открывается перечень форматов. Выбираем «XLS» или «XLSX».

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

    Как видим, в самом Экселе есть встроенные инструменты, позволяющие преобразовать файл формата XML в один из «родных» форматов этой программы. Простейшие экземпляры можно легко конвертировать через обычную функцию «Сохранить как…». Для документов с более сложной структурой существует отдельная процедура преобразования через импорт. Те пользователи, которые по какой-либо причине не могут воспользоваться данными инструментами, имеют возможность выполнить задачу с помощью специализированных онлайн-сервисов для конвертации файлов.

    Читать еще:  Макросы в эксель

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Экспорт Excel в XML и наоборот

    Вы можете конвертировать файл Excel в файл данных XML или наоборот. Это позволяет обмениваться информацией между различными приложениями. Для начала откройте вкладку Developer (Разработчик).

    Вот данные, которые мы хотим преобразовать в файл XML:

    Сперва создадим схему, основанную на исходных данных в формате XML. Схема определяет структуру XML-файла.

      Excel для этой цели не подойдёт, поэтому откройте, к примеру, Блокнот и вставьте следующие строки:

    Примечание: Теги названы по именам столбцов, но вы можете дать им любое название. Например, вместо – .

    1. Сохраните файл как schema.xml.
    2. Откройте книгу Excel.
    3. Кликните по Source (Источник) на вкладке Developer (Разработчик). Откроется XML панель задач.
    4. Чтобы добавить карту XML, нажмите кнопку XML Maps (XML карты).Появится диалоговое окно XML Maps (Карты XML).
    5. Нажмите Add (Добавить).
    6. Выберите schema.xml и дважды кликните ОК.
    7. Теперь просто перетащите 4 элемента из дерева в XML панели задач на лист (строка 1).
    8. Нажмите кнопку Export (Экспорт) в разделе XML на вкладке Developer (Разработчик).
    9. Сохраните файл и нажмите Enter.

    Это экономит немало времени!

    Примечание: Для импорта XML-файла откройте пустую книгу. На вкладке Developer (Разработчик) нажмите кнопку Import (Импорт) и выберите XML-файл.

    Собрать данные из XML файлов в Excel и экспортировать

    Microsoft Excel – удобный инструмент для организации и структурирования самых разнообразных данных. Он позволяет обрабатывать информацию разными методами, редактировать массивы данных.

    Рассмотрим возможности использования его для формирования и обработки файлов веб-приложений. На конкретном примере изучим основы работы с XML в Excel.

    Как создать XML-файл из Excel

    XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.

    Рассмотрим создание XML-файла на примере производственного календаря.

    1. Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
    2. Создадим и вставим карту XML с необходимой структурой документа.
    3. Экспортируем данные таблицы в XML формат.

    1. Наша таблица – производственный календарь.
    2. Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:

  • Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
  • Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
  • Добавить ОК.
  • В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
  • Проверяем возможен ли экспорт.
  • Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.
  • Сохраняем в XML файл.

    Другие способы получения XML-данных (схемы):

    1. Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
    2. Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.

    

    Как сохранить файл Excel в формате XML

    Один из вариантов:

    1. Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
    2. Назначаем имя. Выбираем место сохранения и тип файла – XML.

    Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.

    1. Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
    2. Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
    3. Открываем новую книгу. Кнопка Office – «Открыть».

    Как открыть XML файл в Excel

    1. Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
    2. Способ открытия – XML-таблица. ОК.
    3. Появляется оповещение типа

    Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.

    Как преобразовать файл XML в Excel

    1. Меню «Разработчик» — вкладка «Импорт».
    2. В диалоговом окне выбираем файл XML, который хотим преобразовать.
    3. Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
    4. Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.

    Созданную таблицу редактируем и сохраняем уже в формате Excel.

    Как собрать данные из XML файлов в Excel

    Принцип сбора информации из нескольких XML-файлов такой же, как и принцип преобразования. Когда мы импортируем данные в Excel, одновременно передается карта XML. В эту же схему можно переносить и другие данные.

    Каждый новый файл будет привязываться к имеющейся карте. Каждому элементу в структуре таблицы соответствует элемент в карте. Допускается только одна привязка данных.

    Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».

    1. Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
    2. Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).

    Это все ручные способы импорта и экспорта файлов.

    Excel «Из импорта данных XML» не будет добавлять новые столбцы

    В Excel 2010 имеется потрясающая функция «Данные из других источников» -> «Из импорта данных XML», позволяющая извлекать XML из веб-службы, кодирование не требуется. Прекрасно работает, но мой сервис добавил новую колонку в конце. Обновление соединения в Excel не добавляет новый столбец. Фактически, при создании второго соединения с точно таким же URL-адресом в той же электронной таблице новый столбец также не будет отображаться (хотя то же самое будет сделано в другой книге Excel). Очевидно, Excel как-то кеширует столбцы.

    Я нашел эту ссылку который описывает возможный обходной путь путем ручного взлома файла Excel; но это было 3 года назад. Конечно, сейчас есть лучший способ.

    Любой совет? Вы можете повторить это, просто сохранив следующий XML-файл в виде текстового файла, импортировав его в Excel, затем отредактировав файл и добавив новый столбец.

    Параметры:

    • вкладка «Разработчик Excel 2010» (см. вопрос Excel Добавить Поле для карты XML ) ( search )
    • Excel 2007 (возможно, другие). Похоже, что решение было разработано с использованием VBA на форуме. сообщение: Вопрос XML — схема обновления /Картография ( архив ) ( архив программно с использованием функции отображения XML страница, на которой размещаются ссылки ). Код VBA приведен ниже.
    • Excel 2003 Панель инструментов XML для Excel 2003
    • ALL: ниже представлен обходной путь, который не нарушает формулы.

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

    Официального решения для Excel 2007 не существует. Похоже, существует два отдельных официальных решения: одно для Excel 2003 (надстройка) и одно для Excel 2010 (вкладка «Разработчик»).

    Вопрос Excel Добавить поле в Xml Карта предлагает три метода, которые могут работать.

    • Первым был Набор инструментов XML для Excel 2003 который может сделать это в Excel 2003. Комментарий к этому решению указал, что у него есть некоторые проблемы /проблемы и могут или не могут быть функциональными для вас. Ты можешь приходится использовать более старую версию в Excel или даже более старую операционную система.
    • Второй метод — «отредактировать файл .xls».
    • Третий — использовать вкладку «Разработчик Excel 2010».
    • Обходной путь представлен ниже (возможно, я выбрал простые одноразовые обновления, которые не должны повторяться, а сопоставление простое).
    • Сохраните лист в виде электронной таблицы XML. Отредактируйте схему, записанную в конце файла. Учитывая, что это XML, он целиком в тексте. Схема проста для понимания. Добавить столбец так же просто, как просто скопировать и вставить (с изменениями) несколько строк XML-текста. При использовании этого метода, вероятно, проще всего сделать копию вашего рабочего листа, удалить и заново создать карту и карту, а затем вырезать и вставить. Пример XML:

    (SO-форматирование требует пустой текст)

    Обходной путь: [добавлены /вставлены /удалены столбцы (столбцы)] (легко для простых сопоставлений, например, одной большой таблицы):

    1. Сделайте резервную копию своего листа.
    2. Удалите карту XML . Не отображение на листе. Просто карта XML.
    3. Пересоздайте карту. Теперь у него будет новая XML-схема.
    4. Если у вас есть формула /данные, которые будут перезаписаны дополнительными столбцами: вставьте достаточно столбцов сразу справа от текущей области налист, который содержит сопоставленные данные XML.
    5. Если есть какие-либо столбцы, которые были вставлены между старыми столбцами, вставьте в лист столбец, куда они пойдут. Да, это верно в области сопоставленных данных XML, и общее имя столбца будет временно назначено.
    6. Удалите все столбцы, которые не существуют в новом XML.
    7. Перетащите элементы из новой сопоставленной таблицы в верхний левый угол текущего сопоставления (или иным образом воссоздайте сопоставление на листе непосредственно над сопоставлением, которое вы не удалили ) .
    8. Вручную измените все заголовки, которые были обновлены (если ваши данные были помечены как имеющие заголовки).
    9. Повторите шаги с 4 по 8 для всех отдельных сопоставлений, которые есть в вашей книге. Обычно у меня есть только одно большое сопоставление, на которое я ссылаюсь, а не несколько маленьких сопоставлений.
    10. Обновите данные XML.

    Ваши формулы не должны были изменяться, и ссылки на ячейки в отображенных данных XML должны оставаться правильными. Чтобы убедиться, что вы правильно вставили все столбцы на шаге 3, перед внесением любых других изменений (т. Е. На шаге 1a) вы можете создать строку над сопоставлением XML, скопировать и вставить только значения из верхней строки. Обновив данные XML на шаге 10, вы можете убедиться, что старые заголовки строк соответствуют новому месту размещения.

    Примечание. Шаги 3 и 4 можно поочередно выполнить, сделав более сложное отображение элементов XML. Мне проще вставлять столбцы и сохранять соответствие 1-1 с элементами XMl.

    Это работало на моей машине через несколько испытаний и оставило формулы, ссылающиеся на область, как правильные. Файл, в котором вы можете экспериментировать, называется SO-XML mapping.xml и включен в приведенный ниже пример файла ( и здесь). )

    Учет общих изменений столбцов в некоторых таблицах данных, полученных из источника (или с использованием нескольких источников взаимозаменяемо):

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

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

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

    Это, вероятно, легче показать, чем объяснить в посте, подобном этому. Таким образом, вот пример, который выбирает данные из пяти различных листов .

    В этом примере все ваши формулы будут ссылаться на косвенную страницу. В этом примере предполагается, что все файлы находятся в каталоге C: . К сожалению, для использования сопоставлений XML требуется полный путь к файлу, а C: — это место с наибольшей вероятностью на большинстве компьютеров с Excel.

    VBA-код от KMKfan 16 ноября 2009 г .:

    Комментарий в посте был:

    Вот обновление для этого кода. Этот код допускает несколько XML карты для обновления в той же книге, что и карты xsd и xml имеют одно и то же имя (то есть: исходная карта «MyMap» основана на MyMap.xsd. Должно быть очень полезно, если вы используете XML для отчетности и решите добавить часть данных для захвата. Вы можете обновить существующий сопоставление автоматически и нужно только вручную обновить новые данные элементы.

    Выделите импортированные данные и удалите заполненные строки. Затем выберите ячейку, в которую хотите вставить данные, и заново создайте соединение, перейдя в «Данные» -> Из импорта данных XML. Когда он воссоздает соединение, он должен добавить ваш дополнительный столбец. (Если вы попытаетесь обновить таблицу данных, которая в данный момент существует, она не добавит ваш столбец.)

    Похожие статьи

    Ссылка на основную публикацию
    Похожие публикации
    ×
    ×
    Adblock
    detector