Невозможно сохранить xml данные так как книга не содержит сопоставлений xml
Перейти к содержимому

Невозможно сохранить xml данные так как книга не содержит сопоставлений xml

  • автор:

Невозможно сохранить xml данные так как книга не содержит сопоставлений xml

Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.1.2009

Репутация: нет
Всего: нет

Здравствуйте. Стоит задача переводить полученный Excel файл в Html. С этим справилась. Но есть проблема, не сохраняются числовые форматы ячеек. Например в исходном файле приходит число 20, но отображается оно как 000020, потому что в для этой ячейки стоит числовой формат "Дополнительный-почтовый индекс". Для перевода в html использую ВТОРОЙ способ предложенный здесь: http://blog.webmasterschool.ru/php/50/
Проблема в том, что не сохраняется числовой формат. Я уже думала о том, чтобы для некоторых столбцов писать отдельные условия (добавлять нули). Но так не получится все файлы всегда разные и очень "разношерстные", ячейки могут идти через одну (две, три. ). Нужно именно узнавать какой числовой формат используется и в зависимости от этого по разному обрабатывать ячейку.

Можно попробовать и другие варианты. Может нужно документ сохранить в другом формате?

Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40

если это 000020 имеет в пхп строковый тип, то можно так

Код
$i = '000020';
$i = (int) $i;

Профиль
Группа: Участник
Сообщений: 375
Регистрация: 18.7.2003

Репутация: 3
Всего: 6

Тип там как раз не строковый, а числовой. А правила форматирования задают информацию как их выводить.

Есть ли возможность использовать не формат Exel? Для корректного решения данной задачи + множество других я предпочитаю конвертировать таблицы в ODF и работать с ними средствами XML.

Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.1.2009

Репутация: нет
Всего: нет

Цитата(rMaveric @ 6.8.2009, 09:54)
Тип там как раз не строковый, а числовой. А правила форматирования задают информацию как их выводить.

При попытке сохранить документ в формате xml выводится сообщение:
"Невозможно сохранить XML-данные, так как книга не содержит сопоставлений XML"

Если я правильно поняла, то при изменении формата, нужно будет изменять скрипт? Неужели нельзя узнать числовой формат сразу из Excel через пхп?

Профиль
Группа: Участник
Сообщений: 375
Регистрация: 18.7.2003

Репутация: 3
Всего: 6

sneginka, Я предложил сохранять не в XML, а в ODF. Сделать это можно, к примеру, пакетом OpenOffice.org. Формат ODF — заархивированный каталог с XML файлами, с которыми очень удобно работать.

Цитата(sneginka @ 10.8.2009, 06:48 )
если я правильно поняла, то при изменении формата, нужно будет изменять скрипт? Неужели нельзя узнать числовой формат сразу из Excel через пхп?
  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET
  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь
  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.1252 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Excel невозможно сохранить xml данные так как книга не содержит сопоставлений xml

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

В справке рассмотрены примеры таких ошибок, но вариантов решений немного. Мне не стало понятно, как избавится от ошибок, не меняя схему.

А может кто-то уже разбирался с этим приказом и на самом деле нужно делать все как-то совсем по другому?

Результат должен быть примерно таким:

Спасибо за оперативный и подробный ответ!

Попробовала Ваш 1ый совет, действительно удобно и теперь процесс ручного заполнения кажется не таким устрашающим:)

Спасибо за идею с классами! пока удалось сгенерить java класс с помощью jaxb:) осталось разобраться как наполнить его данными и сериализовать затем в xml.

_Vasilisk_
Может быть Вам легче будет экспортировать данные в любую XML структуру, а потом применить XSL преобразование?

Спасибо за идею! Почитала про XSL преобразование, но пока не поняла как можно на выходе с помощью него получить нужную xml в соответствии с заявленной xsd.

Вот об этом я и прочитала, я подумала вы поняли мою ситуацию. А данные да, еще только предстоит засунуть в xml 🙂

Antonariy
Если эти данные существуют в электронном виде (в бд или еще каком), то создание программы имеет смысл, но если их все равно нужно вбивать руками, то через программу это будет почти наверняка медленнее, чем прямо в xml.

У меня есть просто отчет, обычная таблица в екселе. я попробовала сохранить этот Exel документ как xml, выдало ошибку "Невозможно сохранить xml данные, так как книга не содержит сопоставлений XML." До этого пробовала с помощью конвертера сделать xml, xml получилась, но там был какой-то ужас 🙂 преобразовать тот ужас с помощью xls пока кажется невыполнимым.

Конвертация из Microsoft Excel в XML

XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.

Процедура конвертации

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

Способ 1: простое сохранение

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

  1. Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».

Переход к открытию файла в Microsoft Excel

Открытие файла в Microsoft Excel

Переход во вкладку Файл в Microsoft Excel

Переход к сохранению файла в Microsoft Excel

Переход к выбору типа файла в Microsoft Excel

Сохранение в формате XML в Microsoft Excel

Сохранение документа в Microsoft Excel

Таким образом, преобразование файла из формата Excel в XML будет совершено.

Способ 2: инструменты разработчика

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

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

Переход в параметры в Microsoft Excel

Включение режима разработчика в Microsoft Excel

Таблица в Microsoft Excel

Схема в Notepad++

Переход к выбору источника в Microsoft Excel

Переход к добавлению схемы в Microsoft Excel

Выбор схемы в Microsoft Excel

Измененные наименования столбцов в Microsoft Excel

Переход в экспорт в Microsoft Excel

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

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

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Я столкнулся с проблемой экспорта в XML Excel. Чтобы упростить вопрос, я делаю следующие шаги:

1.Данные >> из импорта данных XML.

На самом деле, я хочу снова экспортировать его в XML-файл после некоторой модификации данных (эти переменные первой строки никогда не меняются)

2. Затем нажмите «Разработать» >> «Экспорт». Он показывает «невозможно сохранить или экспортировать данные XML. Карты XML в этой книге не экспортируются». (даже я ничего не делаю модификации по данным). Я уже смотрю несколько видеороликов по экспорту на YouTube, но, похоже, не решаю проблему. Я еще не нашел проблему.

4 ответа

Обычная причина в том, что Excel не понимает очень сложный XML.

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

Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами:

  • Атрибут maxoccurs не равен 1.
  • В последовательности определено более одного прямого дочернего элемента или другой композитор является прямым дочерним элементом.
  • Неповторяющиеся элементы с одним и тем же повторяющимся родительским элементом отображаются в разные таблицы XML.
  • Несколько повторяющихся элементов отображаются в одну и ту же таблицу XML, и повторение не определяется элементом-предком.
  • Дочерние элементы от разных родителей отображаются в одну и ту же таблицу XML.
  • Один список предметов содержит второй список предметов.
  • Таблица XML содержит элемент, который был определен в схеме для однократного выполнения (атрибут maxoccurs установлен в 1). Когда вы добавляете такой элемент в таблицу XML, Excel заполняет столбец таблицы несколькими экземплярами элемента.
  • Сопоставленный элемент является частью конструкции схемы.

У меня была аналогичная проблема. Это был простой лист, содержащий всего 8 столбцов, но экспорт XML продолжал выдавать эту ошибку. Я обнаружил, что если порядок, в котором элементы появляются в схеме XML, не соответствует порядку, в котором столбцы появляются на листе, я получаю эту ошибку. Я изменил порядок столбцов на своем листе, чтобы они соответствовали порядку элементов в схеме, и экспорт прошел успешно.

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

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

Так что я внесу здесь свое решение. Конечно, это может быть не ваше, но тем не менее это полезная информация, и я уверен, что она кому-то поможет.

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

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

В этой статье

Причины использования XML в Excel
Данные XML и файлы схемы
Ключевые сценарии XML и Excel
Основной процесс использования данных XML в Excel
Работа с картами XML
Использование области задач источника XML
Типы элементов и их значки
Работа с ячейками с точечным сопоставлением
Работа с повторяющимися ячейками в XML-таблицах
Обеспечение безопасности карт XML
Импорт данных XML
Работа с полученной схемой
Экспорт данных XML
Использование файла Excel формата Office Open XML с поддержкой макросов

Причины использования XML в Excel

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

Данные XML и файлы схемы

Excel работает преимущественно с двумя типами XML-файлов:
файлами данных XML (XML), которые содержат настраиваемые теги и структурированные данные;
Файлы схемы (XSD), которые содержат теги схемы, обеспечивающие правила, такие как тип данных и проверка.
В стандарте XML также определяются файлы преобразования XSLT, которые используются для применения стилей и преобразования данных XML в другие форматы. Вы можете использовать эти преобразования перед импортом XML-файлов в Excel и после экспорта XML-файлов из Excel. Если XSLT-файлы связаны с XML-файлами данных, импортированными в Excel, вы можете применить форматирование перед добавлением данных на лист, только открыв XML-файл в Excel с помощью команды Открыть. Прежде чем нажать кнопку Открыть, выберите тип файлов XML (*.XML), чтобы просмотреть XML-файлы в папке.

Ключевые сценарии XML и Excel

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

Основной процесс использования данных XML в Excel

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

Добавление файла схемы XML (XSD) в книгу

сопоставление элементов схемы XML с отдельными ячейками или XML-таблицами

импорте файла данных XML (XML) и привязки XML-элементов к сопоставленным ячейкам

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

экспорт измененных данных из сопоставленных ячеек в файл данных XML

Работа с картами XML

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

Использование области задач источника XML

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

1. Отображение карт XML, добавленных в книгу.
2. Отображение иерархического списка XML-элементов в текущей карте XML.
3. Установка параметров при работе с областью задач Источник XML и данными XML (например, параметров, отвечающих за предварительный просмотр данных и управление заголовками).
4. Открытие диалогового окна Карты XML, которое служит для добавления, удаления или переименования карт XML.
5. Проверка возможности экспорта данных XML через текущую карту XML.
К началу страницы

Типы элементов и их значки

В следующей таблице приведены все типы XML-элементов, с которыми может работать Excel, и значки, используемые для представления каждого типа элементов.
Тип элемента
Значок
Родительский элемент

Обязательный родительский элемент

Повторяющийся родительский элемент

Обязательный повторяющийся родительский элемент

Обязательный дочерний элемент

Повторяющийся дочерний элемент

Обязательный повторяющийся дочерний элемент

Простое содержимое в сложной структуре

Обязательное простое содержимое в сложной структуре

К началу страницы

Работа с ячейками с точечным сопоставлением

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

Работа с повторяющимися ячейками в XML-таблицах

По внешнему виду и функциональным возможностям XML-таблицы подобны таблицам Excel. XML-таблицы являются таблицами Excel, сопоставленными с одним или несколькими повторяющимися XML-элементами. Каждый столбец XML-таблицы соответствует XML-элементу.
XML-таблица создается в следующих случаях:
при использовании команды Импорт (в группе XML на вкладке Разработчик) для импорта файла данных XML;
Откройте файл данных XML с помощью команды Открыть в Excel, а затем выберите в качестве XML-таблицы в диалоговом окне Открытие XML .
при использовании команды Из импорта данных XML (кнопка команды Из других источников в группе Внешние данные на вкладке Данные) для импорта файла данных XML и дальнейшего выбора параметров XML-таблица на существующем листе или Новый лист в диалоговом окне Импорт данных;
при перетаскивании на лист одного или нескольких повторяющихся элементов из области задач Источник XML.
При создании XML-таблицы названия XML-элементов автоматически используются в качестве названий столбцов. Вы можете изменить эти названия. Но при экспорте данных из сопоставленных ячеек автоматически будут использоваться исходные названия XML-элементов.
При работе с XML-таблицами полезны два параметра, доступные с помощью кнопки Параметры в области задач Источник XML.

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

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

Обеспечение безопасности карт XML

Карта XML и содержащиеся в ней сведения об источнике данных сохраняются в книге Excel, а не на определенном листе. Злоумышленник может просмотреть эти данные карты с помощью макроса VBA (Microsoft Visual Basic для приложений). Более того, если книга сохранена в файле Excel формата Open XML с поддержкой макросов, данные карты можно просмотреть с помощью Блокнота или другого текстового редактора.
Если вы хотите по-прежнему использовать сведения о карте, но при этом скрыть конфиденциальные данные, вы можете удалить из книги определение источника данных схемы XML, не прекращая экспорт данных XML. Для этого снимите флажок Сохранять определение источника данных в книге в диалоговом окне Свойства карты XML, которое можно открыть, выбрав Свойства карты в группе XML на вкладке Разработчик.
Если удалить лист до удаления карты, сведения карты об источниках данных и, возможно, другие конфиденциальные сведения останутся в книге. При обновлении книги для удаления конфиденциальных сведений обязательно удалите карту XML до удаления листа, чтобы окончательно удалить данные карты из книги.
К началу страницы

Импорт данных XML

Распространенные проблемы при импорте данных XML

Указанный XML-файл не ссылается на схему

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

Сопоставление XML-элементов с ячейками карты XML

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

Совет: Дополнительные сведения об использовании XML в Excel см. в этом обзоре XML в Excel.

Поиск или создание файлов схемы XML и данных XML

Файлы схемы XML и данных XML уже могут быть доступны, если они были созданы другой базой данных или приложением. Например, у вас могут быть бизнес-приложение, которое экспортирует данные в эти форматы XML-файлов, коммерческий веб-сайт или веб-служба, которые поставляют такие XML-файлы, или пользовательское приложение, разработанное в вашем ИТ-отделе, которое автоматически создает такие XML-файлы.

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

Импортируйте текстовый файл, который требуется преобразовать, и свяжите его с новой таблицей.

Выберите команду Файл > Открыть.

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

На вкладке Внешние данные выберите команду Текстовый файл и выполните инструкции для каждого шага, связав таблицу с нужным текстовым файлом.

Access создает новую таблицу, имя которой отображается в области навигации.

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

На вкладке Внешние данные выберите команду XML-файл (в группе Экспорт).

В диалоговом окне Экспорт — XML-файл укажите имя и формат файла и нажмите кнопку ОК.

Выйдите из Access.

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

Если открывается диалоговое окно Несколько корней, выберите элемент dataroot, чтобы создать XML-таблицу.

Создайте XML-таблицу, сопоставив элемент dataroot. Дополнительные сведения см. в разделе Сопоставление XML-элементов.

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

<любой> Этот элемент позволяет вам включить в схему элементы, не объявленные в схеме.

<любое> Этот элемент позволяет вам включить в схему атрибуты, не объявленные в схеме.

Рекурсивные структуры. Типичный пример рекурсивной структуры — иерархия сотрудников и руководителей, в которой одни и те же XML-элементы вложены на нескольких уровнях. В Excel не поддерживаются рекурсивные структуры глубиной более одного уровня.

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

Группы подстановки. Эти группы позволяют менять элемент везде, где встречается ссылка на него. Принадлежность элемента к группе подстановки другого элемента указывается с помощью атрибута <substitutionGroup>.

Смешанное содержимое. Это содержимое объявляется при определении сложного типа с помощью параметра mixed=»true». Excel не поддерживает простое содержимое сложного типа, но поддерживает дочерние теги и атрибуты, определенные в этом сложном типе.

Использование образцов файлов схемы XML и данных XML

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

Выделите текст примера файла, который требуется скопировать, и нажмите клавиши CTRL+C.

Запустите Блокнот и нажмите клавиши CTRL+V, чтобы вставить текст примера.

Нажмите клавиши CTRL+S, чтобы сохранить файл с именем и расширением, указанными для скопированного образца данных.

Нажмите клавиши CTRL+N в приложении Блокнот и повторите шаги 1–3, чтобы создать файл для текста второго примера.

Выйдите из Блокнота.

Образец данных XML (Расходы.xml)

Образец схемы XML (Расходы.xsd)

Создание карты XML

Чтобы создать карту XML, добавьте схему XML в книгу. Можно скопировать схему из файла схемы XML (XSD-файла) или позволить Excel попытаться построить такую схему на основе файла данных XML (XML-файла).

На вкладке Разработчик выберите команду Источник.

Команды XML на вкладке "Разработчик"

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML нажмите кнопку Карты XML, а затем нажмите кнопку Добавить.

В списке Папка выберите диск, папку или веб-адрес, где расположен нужный файл.

Щелкните файл, а затем нажмите кнопку Открыть.

Для файла схемы XML будет создана карта XML, основанная на данной схеме XML. Если откроется диалоговое окно Несколько корней, выберите один из корневых узлов, определенных в файле схемы XML.

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

Нажмите кнопку ОК.

Карта XML отображается в области задач Источник XML.

Сопоставление XML-элементов

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

На вкладке Разработчик выберите команду Источник.

Команды XML на вкладке "Разработчик"

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML выделите элементы, которые требуется сопоставить.

Чтобы выделить несмежные элементы, щелкните один из них, а затем, удерживая нажатой клавишу CTRL, поочередно щелкните все нужные элементы.

Чтобы сопоставить элементы, выполните указанные ниже действия.

Щелкните выделенные элементы правой кнопкой мыши и выберите команду Сопоставить элемент.

В диалоговом окне Сопоставление XML-элементов выберите ячейку и нажмите кнопку ОК.

Совет: Вы также можете перетащить выделенные элементы в то место книги, где они должны отображаться.

Каждый такой элемент будет выделен в области задач XML-источник полужирным шрифтом. Это означает, что данный элемент сопоставлен.

Выберите, как должны обрабатываться подписи данных и заголовки столбцов.

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

Данные уже содержат заголовок. Выберите этот параметр, чтобы проигнорировать заголовок XML-элемента, так как данная ячейка уже имеет заголовок (слева от данных или над ними).

Заголовок XML слева. Выберите этот параметр, чтобы использовать заголовок XML-элемента в качестве подписи ячейки (слева от данных).

Заголовок XML сверху. Выберите этот параметр, чтобы использовать заголовок XML-элемента в качестве заголовка ячейки (над данными).

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

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

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

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

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

Вот как можно сопоставить XML-элементы в книге, которой вы хотите поделиться с другими пользователями: сначала сопоставьте XML-элементы с нужными ячейками, импортируйте данные XML, удалите все карты XML, а затем предоставьте общий доступ к книге.

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

Добавьте карту XML в новую книгу с помощью XML- или XSD-файла, который использовался при создании исходной карты XML. Эти файлы следует хранить, если вы планируете добавлять карты XML в другие книги.

Сопоставьте эти XML-элементы таблице, чтобы сделать ее XML-таблицей.

При сопоставлении повторяющегося XML-элемента с объединенной ячейкой Excel отменяет это объединение. Это ожидаемое поведение, так как повторяющиеся элементы предназначены только для работы с ячейками, которые не объединены.

С объединенной ячейкой можно сопоставлять отдельные, неповторяющиеся XML-элементы, но сопоставление с такими ячейками повторяющихся XML-элементов (или элементов, содержащих повторяющиеся элементы) не допускается. Объединение ячейки будет отменено, а элемент будет сопоставлен с ячейкой, в которой находится указатель.

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

Чтобы отменить сопоставление XML-элемента, щелкните правой кнопкой мыши его имя в области задач Источник XML и выберите команду Удалить элемент.

Отображение вкладки «Разработчик»

Если вкладка Разработчик недоступна, выполните следующие действия, чтобы открыть ее.

В Excel 2010 и более новых версиях:

Выберите Файл > Параметры.

Щелкните категорию Настроить ленту.

В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

Нажмите кнопку Microsoft Office кнопку >Excel параметры.

Выберите категорию Основные.

В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

Невозможно сохранить xml данные так как книга не содержит сопоставлений xml

Сопоставление XML-элементов с ячейками карты XML

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

Совет: Дополнительные сведения об использовании XML в Excel см. в этом обзоре XML в Excel.

Поиск или создание файлов схемы XML и данных XML

Файлы схемы XML и данных XML уже могут быть доступны, если они были созданы другой базой данных или приложением. Например, у вас могут быть бизнес-приложение, которое экспортирует данные в эти форматы XML-файлов, коммерческий веб-сайт или веб-служба, которые поставляют такие XML-файлы, или пользовательское приложение, разработанное в вашем ИТ-отделе, которое автоматически создает такие XML-файлы.

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

Импортируйте текстовый файл, который требуется преобразовать, и свяжите его с новой таблицей.

Выберите команду Файл > Открыть.

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

На вкладке Внешние данные выберите команду Текстовый файл и выполните инструкции для каждого шага, связав таблицу с нужным текстовым файлом.

Access создает новую таблицу, имя которой отображается в области навигации.

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

На вкладке Внешние данные выберите команду XML-файл (в группе Экспорт).

В диалоговом окне Экспорт — XML-файл укажите имя и формат файла и нажмите кнопку ОК.

Выйдите из Access.

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

Если открывается диалоговое окно Несколько корней, выберите элемент dataroot, чтобы создать XML-таблицу.

Создайте XML-таблицу, сопоставив элемент dataroot. Дополнительные сведения см. в разделе Сопоставление XML-элементов.

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

<любой> Этот элемент позволяет вам включить в схему элементы, не объявленные в схеме.

<любое> Этот элемент позволяет вам включить в схему атрибуты, не объявленные в схеме.

Рекурсивные структуры. Типичный пример рекурсивной структуры — иерархия сотрудников и руководителей, в которой одни и те же XML-элементы вложены на нескольких уровнях. В Excel не поддерживаются рекурсивные структуры глубиной более одного уровня.

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

Группы подстановки. Эти группы позволяют менять элемент везде, где встречается ссылка на него. Принадлежность элемента к группе подстановки другого элемента указывается с помощью атрибута <substitutionGroup>.

Смешанное содержимое. Это содержимое объявляется при определении сложного типа с помощью параметра mixed=»true». Excel не поддерживает простое содержимое сложного типа, но поддерживает дочерние теги и атрибуты, определенные в этом сложном типе.

Использование образцов файлов схемы XML и данных XML

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

Выделите текст примера файла, который требуется скопировать, и нажмите клавиши CTRL+C.

Запустите Блокнот и нажмите клавиши CTRL+V, чтобы вставить текст примера.

Нажмите клавиши CTRL+S, чтобы сохранить файл с именем и расширением, указанными для скопированного образца данных.

Нажмите клавиши CTRL+N в приложении Блокнот и повторите шаги 1–3, чтобы создать файл для текста второго примера.

Выйдите из Блокнота.

Образец данных XML (Расходы.xml)

Образец схемы XML (Расходы.xsd)

Создание карты XML

Чтобы создать карту XML, добавьте схему XML в книгу. Можно скопировать схему из файла схемы XML (XSD-файла) или позволить Excel попытаться построить такую схему на основе файла данных XML (XML-файла).

На вкладке Разработчик выберите команду Источник.

Команды XML на вкладке "Разработчик"

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML нажмите кнопку Карты XML, а затем нажмите кнопку Добавить.

В списке Папка выберите диск, папку или веб-адрес, где расположен нужный файл.

Щелкните файл, а затем нажмите кнопку Открыть.

Для файла схемы XML будет создана карта XML, основанная на данной схеме XML. Если откроется диалоговое окно Несколько корней, выберите один из корневых узлов, определенных в файле схемы XML.

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

Нажмите кнопку ОК.

Карта XML отображается в области задач Источник XML.

Сопоставление XML-элементов

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

На вкладке Разработчик выберите команду Источник.

Команды XML на вкладке "Разработчик"

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML выделите элементы, которые требуется сопоставить.

Чтобы выделить несмежные элементы, щелкните один из них, а затем, удерживая нажатой клавишу CTRL, поочередно щелкните все нужные элементы.

Чтобы сопоставить элементы, выполните указанные ниже действия.

Щелкните выделенные элементы правой кнопкой мыши и выберите команду Сопоставить элемент.

В диалоговом окне Сопоставление XML-элементов выберите ячейку и нажмите кнопку ОК.

Совет: Вы также можете перетащить выделенные элементы в то место книги, где они должны отображаться.

Каждый такой элемент будет выделен в области задач XML-источник полужирным шрифтом. Это означает, что данный элемент сопоставлен.

Выберите, как должны обрабатываться подписи данных и заголовки столбцов.

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

Данные уже содержат заголовок. Выберите этот параметр, чтобы проигнорировать заголовок XML-элемента, так как данная ячейка уже имеет заголовок (слева от данных или над ними).

Заголовок XML слева. Выберите этот параметр, чтобы использовать заголовок XML-элемента в качестве подписи ячейки (слева от данных).

Заголовок XML сверху. Выберите этот параметр, чтобы использовать заголовок XML-элемента в качестве заголовка ячейки (над данными).

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

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

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

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

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

Вот как можно сопоставить XML-элементы в книге, которой вы хотите поделиться с другими пользователями: сначала сопоставьте XML-элементы с нужными ячейками, импортируйте данные XML, удалите все карты XML, а затем предоставьте общий доступ к книге.

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

Добавьте карту XML в новую книгу с помощью XML- или XSD-файла, который использовался при создании исходной карты XML. Эти файлы следует хранить, если вы планируете добавлять карты XML в другие книги.

Сопоставьте эти XML-элементы таблице, чтобы сделать ее XML-таблицей.

При сопоставлении повторяющегося XML-элемента с объединенной ячейкой Excel отменяет это объединение. Это ожидаемое поведение, так как повторяющиеся элементы предназначены только для работы с ячейками, которые не объединены.

С объединенной ячейкой можно сопоставлять отдельные, неповторяющиеся XML-элементы, но сопоставление с такими ячейками повторяющихся XML-элементов (или элементов, содержащих повторяющиеся элементы) не допускается. Объединение ячейки будет отменено, а элемент будет сопоставлен с ячейкой, в которой находится указатель.

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

Чтобы отменить сопоставление XML-элемента, щелкните правой кнопкой мыши его имя в области задач Источник XML и выберите команду Удалить элемент.

Отображение вкладки «Разработчик»

Если вкладка Разработчик недоступна, выполните следующие действия, чтобы открыть ее.

В Excel 2010 и более новых версиях:

Выберите Файл > Параметры.

Щелкните категорию Настроить ленту.

В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

Нажмите кнопку Microsoft Office кнопку >Excel параметры.

Выберите категорию Основные.

В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

excel: невозможно сохранить или экспортировать данные xml. Карта xml в этой книге не экспортируется

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

Когда я нажимаю «Разработчик» >> экспорт

не может сохранять или экспортировать XML-данные. Карты XML в этой книге нельзя экспортировать.

Это происходит даже тогда, когда я ничего не делаю для изменения данных.

Я посмотрел несколько руководств по экспорту на YouTube, но ни одно из них не освещало мою проблему.

4 ответа

Обычная причина в том, что Excel не понимает очень сложный XML.

  • Атрибут maxoccurs не равен 1.
  • Последовательность имеет более одного определенного прямого дочернего элемента или имеет другой составитель в качестве прямого дочернего элемента.
  • Неповторяющиеся одноуровневые элементы с одним и тем же повторяющимся родительским элементом сопоставляются с разными XML-таблицами.
  • Несколько повторяющихся элементов сопоставляются с одной и той же таблицей XML, и повторение не определяется элементом-предком.
  • Дочерние элементы от разных родителей сопоставляются с одной и той же XML-таблицей.
  • Один список элементов содержит второй список элементов.
  • XML-таблица содержит элемент, который в схеме определен как однократный (для атрибута maxoccurs установлено значение 1). Когда вы добавляете такой элемент в таблицу XML, Excel заполняет столбец таблицы несколькими экземплярами элемента.
  • Отображаемый элемент является частью конструкции схемы.

У меня была аналогичная проблема. Это был простой лист, содержащий всего 8 столбцов, но экспорт XML продолжал выдавать эту ошибку. Я обнаружил, что если порядок, в котором элементы появляются в XML-схеме, не соответствует порядку, в котором столбцы появляются на листе, я получаю эту ошибку. Я переставил столбцы на своем листе так, чтобы они соответствовали порядку элементов в схеме, и экспорт прошел успешно.

На многих веб-страницах есть инструкции по экспорту в xml (пример: https:/ /www.excel-easy.com/examples/xml.html). Когда я создавал схему для уже существующих данных, я столкнулся со следующим.

  1. забыл иметь один внешний тег-оболочку для строк (основная причина ошибки, которая привела меня на эту страницу)
  2. не правильно понял типы данных (то, что выглядело как числовое, на самом деле было текстом — я думаю, это больше неприятно, но я сначала исправил это).

Ваш XML, который преобразуется в схему, должен выглядеть так (я не знаю, нужны ли ему две «образцовые строки», но это помогает запомнить внешний тег):

Поэтому я внесу свое решение здесь. Конечно, это может быть и не ваше, но тем не менее это полезная информация, и я уверен, что она кому-то поможет.

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

excel: невозможно сохранить или экспортировать XML-данные. Карта xml в этой книге не экспортируется

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

Когда я нажимаю Разработчик >> экспорт

cannot save or export XML data. The XML maps in this workbook are not exportable.

Это происходит даже тогда, когда я ничего не делаю для изменения данных.

Я просмотрел несколько руководств по экспорту на YouTube, но ни один из них не касается моей проблемы.

Обычно причина в том, что Excel не понимает очень сложный XML.

  • The maxoccurs attribute is not equal to 1.
  • The sequence has more than one direct child element defined, or has another compositor as a direct child.
  • Nonrepeating sibling elements with the same repeating parent element are mapped to different XML tables.
  • Multiple repeating elements are mapped to the same XML table, and the repetition is not defined by an ancestor element.
  • Child elements from different parents are mapped to the same XML table.
  • One list of items contains a second list of items.
  • An XML table contains an element that has been defined in the schema to occur once (the maxoccurs attribute is set to 1). When you add such an element to an XML table, Excel fills the table column with multiple instances of the element.
  • A mapped element is part of a schema construct.

У меня была аналогичная проблема. Это был простой лист, содержащий всего 8 столбцов, но экспорт XML продолжал выдавать эту ошибку. Я обнаружил, что если порядок, в котором элементы появляются в схеме XML, не соответствует порядку, в котором столбцы появляются на листе, я получаю эту ошибку. Я изменил порядок столбцов на своем листе, чтобы они соответствовали порядку элементов в схеме, и экспорт прошел успешно.

На многих веб-страницах есть инструкции по экспорту в xml (пример: https://www.excel-easy.com/examples/xml.html ). Когда я создавал схему для уже существующих данных, я натолкнулся на следующее.

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

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

Так что я внесу здесь свое решение. Конечно, это может быть не ваше, но тем не менее это полезная информация, и я уверен, что она кому-то поможет.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *