Карты xml в этой книге не предназначены для экспорта как исправить

In my case i wanted to export a simple table as an xml file without a prior existing xsd or xml file. So i did this

  1. Create an xsd file (see sample below)
  2. Import this xsd into excel
  3. Relate nodes in the xml structure to a column (see screen below)
  4. Export sheet as a xml file

Step 1 create an xsd file

I wrote the following xsd in an editor and saved it to a file

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="Sample_XML_Export">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Foo" type="xsd:int"/>
              <xsd:element name="Bar" type="xsd:string"/>
              <xsd:element name="Baz" type="xsd:int" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Step 2 Import xsd file

This xsd file must be imported into excel. You need to activate the developer tab in Excel. On this tab you can import from XML source (see button “XML…”).

Import_XSD

After you imported the xsd file you will see a tree structure (see folder
Root and Sample_XML_Export).

Step 3 map xml nodes to columns

Now you need to relate a node below Sample_XML_Export to an excel-column. Select a node and right click it to map this node to a column

Relate column step 1

Now select the column you want to map / to relate to the node by clicking on the column header.

Relate column step 2

Step 4 save as xml

Under File / Save as or Export you can save the xls file as an xml file.
This is the exported xml data

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
    <Sample_XML_Export>
        <Foo>1234</Foo>
        <Bar>122</Bar>
        <Baz>12</Baz>
    </Sample_XML_Export>
    <Sample_XML_Export>
        <Foo>4567</Foo>
        <Bar>144</Bar>
        <Baz>13</Baz>
    </Sample_XML_Export>
    <Sample_XML_Export>
        <Foo>7890</Foo>
        <Bar>187</Bar>
        <Baz>14</Baz>
    </Sample_XML_Export>
</Root>


карты xml в этой книге не предназначены для экспорта, Excel не хочет сохранять в XML. Помогите плизззз!!!

 

maks233

Пользователь

Сообщений: 1
Регистрация: 25.03.2016

Добрый день!
Имеется файл xml выгруженный файлиз программы.
Требуется с помощью экселя добавить данные и загрузить обратно в программу.
Но проблем, Эксель не хочет сохранять в xml, пишет ошибку.
Можете помочь?
Во вложении xml и эксель файл.

 

Dima S

Пользователь

Сообщений: 2063
Регистрация: 01.01.1970

#2

25.03.2016 18:09:16

почитайте тут.

http://chevalry.livejournal.com/170949.html

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Сопоставление XML невозможно экспортировать, если не удается сохранить связь сопоставленного элемента с другими элементами. Отношение может не сохраниться по следующим причинам.

  • Определение схемы для mapped-элемента содержится в последовательности, для которой истинно следующее:

    • Атрибут maxoccurs не равен 1.

    • В последовательности определено несколько прямых элементов, или в качестве прямого ребенка имеется другой compositor.

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

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

  • Дочерние элементы разных родительских элементов сопоставлены с одной и той же XML-таблицей.

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

  • Список списков.     Один список элементов содержит второй список элементов.

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

  • Выбор     Это картографский элемент, который является частью< выбора> схемы.

Дополнительные сведения см. в экспорте данных XML.

Это сообщение может быть по нескольким причинам:

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

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

  • Элемент представляет собой рекурсивную структуру.

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

  • XML-таблица содержит смешанное содержимое.

    Смешанное содержимое возникает, когда элемент содержит элемент child и простой текст за пределами элемента child. Часто теги форматирования (например, полужирные теги) используются для пометки данных в элементе. Несмотря на то что можно отобразить элемент child (Excel поддерживает его), текстовое содержимое будет потеряно при импорте данных, не будет доступно при экспорте данных, поэтому его нельзя будет округить.

Дополнительные сведения см. в экспорте данных XML.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

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

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

При проверке выскакивает ошибка следующего содержания:

  • Экспорт невозможен, поскольку карта содержит следующее: Список списков

Справка сообщает, что карта не является экспортируемой в целом ряде ситуаций, в том числе в ситуации, когда в ситуации списка списков (как у меня).

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

Не экспортируемая карта

Примечание.  Средства XML, за исключением сохранения файлов в формате таблиц XML, доступны только в Microsoft Office Professional версия 2003 и отдельном выпуске Microsoft Office Excel 2003.

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

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

Источник: https://chevalry.livejournal.com/170949.html

Возможно вас заинтересует:

В моем случае я хотел экспортировать простую таблицу в виде файла xml без ранее существовавшего файла xsd или xml. Так что я сделал это

  1. Создайте файл xsd (см. пример ниже)
  2. Импортируйте этот xsd в excel
  3. Свяжите узлы в структуре xml со столбцом (см. экран ниже)
  4. Экспорт листа в виде xml-файла

Шаг 1 создайте файл xsd

Я написал следующий xsd в редакторе и сохранил его в файл

      <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Root">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="Sample_XML_Export">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Foo" type="xsd:int"/>
              <xsd:element name="Bar" type="xsd:string"/>
              <xsd:element name="Baz" type="xsd:int" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Шаг 2 Импортируйте xsd-файл

Этот файл xsd необходимо импортировать в Excel. Вам нужно активировать вкладку разработчика в Excel . На этой вкладке вы можете импортировать данные из источника XML (см. кнопку “XML…”).

После импорта файла xsd вы увидите древовидную структуру (см. папкуRootи ).

Шаг 3. Сопоставьте узлы xml со столбцами

Теперь вам нужно связать узел нижеSample_XML_Exportв excel-столбец. Выберите узел и щелкните его правой кнопкой мыши, чтобы сопоставить этот узел со столбцом.

Теперь выберите столбец, который вы хотите сопоставить / связать с узлом, щелкнув заголовок столбца.

Шаг 4 сохранить как xml

В разделе «Файл» / «Сохранить как» или «Экспорт» вы можете сохранить файл xls как файл xml. Это экспортированные данные xml

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
    <Sample_XML_Export>
        <Foo>1234</Foo>
        <Bar>122</Bar>
        <Baz>12</Baz>
    </Sample_XML_Export>
    <Sample_XML_Export>
        <Foo>4567</Foo>
        <Bar>144</Bar>
        <Baz>13</Baz>
    </Sample_XML_Export>
    <Sample_XML_Export>
        <Foo>7890</Foo>
        <Bar>187</Bar>
        <Baz>14</Baz>
    </Sample_XML_Export>
</Root>

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