Как сохранить в формате xml
Перейти к содержимому

Как сохранить в формате xml

  • автор:

Экспорт данных XML

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

  • Перед экспортом XML-данных необходимо включить вкладку Разработчик на ленте. См. раздел Показать вкладку »Разработчик».
  • При создании карт XML и экспорте данных Excel в XML-файлы существует ограничение на количество строк, которые можно экспортировать. При экспорте в XML-файл из Excel можно сохранить до 65 536 строк. Если файл содержит более 65 536 строк, Excel сможет экспортировать только число строк, определяемое формулой ЧСТРОК ОСТАТ 65537. Например, если лист содержит 70 000 строк, Excel экспортирует 4464 строки (70000 ОСТАТ 65537). Рекомендуем сделать следующее: 1) использовать формат XLSX; 2) сохранить файл в формате «Таблица XML 2003 (*.xml)» (при этом будут потеряны сопоставления); 3) удалить все строки после 65 536 и затем снова выполнить экспорт (при этом сопоставления сохранятся, но будут потеряны строки в конце файла).

Экспорт XML-данных (не более 65 536 строк)

  1. На вкладке Разработчик нажмите кнопку Экспорт. Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».
  2. Если откроется небольшое диалоговое окно Экспорт XML, щелкните карту XML, которую вы хотите использовать, и нажмите кнопку ОК. Это диалоговое окно отображается только в том случае, если не выбрана XML-таблица и книга содержит несколько карт XML.
  3. В большом диалоговом окне Экспорт XML в поле Имя файла введите имя файла XML-данных.
  4. Нажмите кнопку Экспорт.

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

Экспорт XML-данных (для более чем 65 536 строк)

  1. Найдите разность общего количества строк в файле и числа 65 537. Обозначим это число как x.
  2. Удалите x строк с начала листа Excel.
  3. Экспортируйте лист в виде XML-файла данных (см. процедуру в предыдущем разделе).
  4. Нажмите кнопку Закрыть, но не сохраняйте лист. Затем снова откройте лист Excel.
  5. Удалите все данные после общей суммы x, а затем экспортируйте как XML-файл данных (см. процедуру в предыдущем разделе). Это позволит не потерять оставшуюся часть данных. На этом этапе у вас будет два файла экспорта XML, которые можно объединить для создания дубликата исходного листа.

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

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

  1. Нажмите клавиши CTRL+S, чтобы сохранить файл. Это действие гарантирует, что никакие изменения, внесенные в книгу, не будут потеряны, если она сохранена в виде файла данных XML.
  2. Щелкните Файл >Сохранить как и выберите расположение, в котором нужно сохранить файл. Только в Excel 2007 нажмите кнопку Microsoft Office

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

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

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

Эту карту XML можно экспортировать, но некоторые необходимые элементы не сопоставлены

Такое сообщение может появиться по следующим причинам.

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

Невозможно экспортировать карты XML в книге

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

  • Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами:
    • атрибут maxoccurs не равен 1;
    • последовательность содержит более одного прямого дочернего элемента или включает в себя другой составной объект в качестве такого элемента.

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

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

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

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

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

    Команды XML на вкладке

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

    Если вы не добавили карту XML в книгу или данные не находятся в XML-таблице, сохраните книгу в формате книги Excel с поддержкой макросов (XLSM).

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

    Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

    Сохранение записей в формате XML

    Как и в формате ADTG, сохраняемость набора записей в формате XML реализуется с поставщиком сохраняемости Microsoft OLE DB. Этот поставщик создает набор строк только для чтения, доступный только для чтения, из сохраненного XML-файла или потока, который содержит сведения о схеме, созданные ADO. Аналогичным образом он может принимать набор записей ADO, создавать XML и сохранять его в файл или любой объект, реализующий интерфейс COM IStream . (На самом деле файл — это просто еще один пример объекта, поддерживающего IStream.) В версиях 2.5 и более поздних ADO использует средство синтаксического анализа MICROSOFT XML (MSXML) для загрузки XML-кода в набор записей. поэтому требуется msxml.dll. Для версии 2.5 MSXML поставляется с Internet Обозреватель 5. Для версии 2.6 MSXML поставляется с SQL Server 2000.

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

    Самый простой способ сохранить данные в XML и снова загрузить их с помощью ADO с помощью методов Save и Open соответственно. В следующем примере кода ADO показано сохранение данных из таблицы Titles в файл с именем titles.sav.

     Dim rs as new Recordset Dim rs2 as new Recordset Dim c as new Connection Dim s as new Stream ' Query the Titles table. c.Open "provider='sqloledb';data source='mydb';initial catalog='pubs';Integrated Security='SSPI'" rs.cursorlocation = adUseClient rs.Open "select * from titles", c, adOpenStatic ' Save to the file in the XML format. Note that if you don't specify ' adPersistXML, a binary format (ADTG) will be used by default. rs.Save "titles.sav", adPersistXML ' Save the Recordset into the ADO Stream object. rs.save s, adPersistXML rs.Close c.Close set rs = nothing Reopen the file. rs.Open "titles.sav". adCmdFile 'Open the Stream back into a Recordset. rs2.open s 

    ADO всегда сохраняет весь объект Recordset . Если вы хотите сохранить только подмножество строк объекта Recordset , используйте метод Filter , чтобы сузить строки или изменить предложение выбора. Однако необходимо открыть объект Recordset с клиентским курсором (CursorLocation = adUseClient), чтобы использовать метод Filter для сохранения подмножества строк. Например, чтобы получить заголовки, начинающиеся с буквы «b», можно применить фильтр к открытому объекту Recordset :

     rs.Filter "title_id like 'B*'" rs.Save "btitles.sav", adPersistXML 

    ADO всегда использует набор строк клиентского обработчика курсоров для создания прокручиваемого объекта Recordset с возможностью закладки поверх данных только для пересылки, созданных поставщиком сохраняемости.

    В этой статье содержатся следующие разделы:

    • XML Persistence Format
    • Пространства имен
    • Schema Section
    • Data Section
    • Hierarchical Recordsets in XML
    • Recordset Dynamic Properties in XML
    • XSLT Transformations
    • Saving to the XML DOM Object
    • XML Security Considerations
    • XML Recordset Persistence Scenario Topics

    Экспорт в XML-файл

    Перед преобразованием материалов InCopy в данные XML необходимо проделать следующее.

    • Создайте или загрузите теги элементов.
    • Примените разметку тегами к элементам материалов.
    • При необходимости измените расположение элементов в палитре «Структура».

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

    Чтобы экспортировать только часть документа, выделите в палитре «Структура» тот элемент, с которого нужно начать экспорт.

    Выберите меню «Файл» > «Экспорт».
    В поле «Тип файла» (Windows) или «Формат» (Mac OS) диалогового окна Сохранить как выберите «XML».
    Введите название и выберите местоположение XML-файла, затем нажмите кнопку «Сохранить».
    В диалоговом окне «Экспорт XML» выберите необходимую кодировку: UTF-8 или UTF-16.
    Выполните одно из следующих действий:
    Включить объявление определения типа документа.

    Вместе с XML-файлом экспортирует загруженный DTD-файл. Этот параметр доступен только в случае загрузки DTD-файла в документ.

    Просмотр XML с помощью

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

    Экспорт от выделенного элемента

    Начинает процедуру экспорта с элемента, выделенного в палитре «Структура». Этот параметр доступен только в том случае, если до выполнения команды «Файл» > «Экспортировать» был выделен элемент.

    Экспорт неразмеченных таблиц в формате CALS XML
    Экспортирует неразмеченные таблицы в формате CALS XML.
    Заново сопоставить разрывы, пробелы и специальные символы

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

    Применить XSLT

    Применяет таблицу стилей, задавая трансформацию экспортируемого XML в HTML или другой формат. Нажмите кнопку «Обзор» (Windows) или «Выбрать» (Mac OS) и выберите в файловой системе XSLT-файл.

    Сохранить документ в xml-файл

    Почему xml-файл, при отправке в кабинет оператора ЭДО, визуально отличается от документа в Бизнес Паке?

    Бизнес пак и операторы ЭДО работают с электронными документами по-разному. Бизнес пак сохраняет не сам документ, а специальный текстовый файл с данными документа (xml-файл). Операторы ЭДО по этому файлу создают картинку документа своим способом. Поэтому документы могут выглядеть по-разному, но они содержат одинаковую информацию. Все эти сложности с xml-файлами нужны для того, чтобы компьютеры могли обмениваться документами без ошибок и чтобы соответствовать требованиям государства (для каждого формализованного документа установлен формат приказом ФНС России. Например, для счета-фактуры это приказ № ММВ-7-15.820 от 19.12.2018).

    Для того, чтобы убедиться, что документы идентичны, сравните картинки документов в Бизнес паке и операторе ЭДО, обратите внимание на ключевые реквизиты, такие как номер и дата документа, наименование и ИНН контрагентов, сумма и НДС по документу. Если эти реквизиты совпадают, то документы идентичны

    Почему счет нельзя сохранить в xml-файл?

    Счет — это неформализованный документ, то есть для него нет регламентированного формата, как для счет-фактуры, например. А так как формата нет, то есть структура данных не определена, то и xml-файл для ЭДО составить невозможно. Для передачи неформализованных документов (счетов, актов сверки, договоров и др.) экспортируйте их в любой другой формат и отправляйте через оператора ЭДО.

    В походной версии я смогу сохранить документ в xml-файл?

    Да, сохранить документ из походной версии в xml-файл можно с помощью кнопки «ЭДО».

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

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