Очень коротко. Оказывается, не все так просто — с этими картами XML. Не всякая карта XML годится для обмена данными между Excel и XML. Есть, например, такие карты, посредством которых экспорт в XML произвести невозможно.
Например, если в схеме XML есть повторяющийся родительский элемент, у которого также есть повторяющиеся родительские элементы, то экспортировать данные в XML с помощью такой карты уже невозможно. Для этого даже существует специальная опция в источнике XML, которая позволяет сделать проверку карты XML с точки зрения возможности экспорта — см. картинку под катом.
При проверке выскакиывает ошибка следующего содержания:
Экспорт невозможен, поскольку карта содержит следующее: Список списков
Справка сообщает (см. также под катом), что карта не является экспортируемой в целом ряде ситуаций, в том числе в ситуации, когда в ситуации списка списков (как у меня).
Это, конечно же, накладывает определенные ограничения на использование карты XML. Например, нельзя сказать, что любой файл Excel можно удобным образом связать с XML через карту XML.
Тогда сразу возникает вопрос: а какая структура является удобной, то есть вполне подходящей для карты XML? Ответ: скорее всего, это что-то вроде такого документа (рисую по-быстрому прямо здесь):
СЧЕТ № __________ от ___________
Фирма: ____________
Получатель: ____________
Банк: _______________
ИНН ________ КПП ____________ БИК ___________
№ | Товар | Ед.изм | Кол-во | Цена | Сумма |
1 | … | ||||
2 | |||||
3 | |||||
… | |||||
n |
ИТОГО ___________
Руководитель_____________
Гл.бух _________________
Таким образом, в этом документе есть некоторое количество уникальных, неповторяющихся реквизитов, и один список переменной длины. Вот с таким документом карта XML будет работать на «ура». Более сложный и запутанный документ она не сможет сопоставить с XML.
Ну что же, и это тоже дело. Хотя это небольшое открытие мои восторги по поводу карты XML немного поубавило…
Справка Excel по карте 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 заполняется несколькими экземплярами этого элемента.
- Выбор. Это сопоставленный элемент, который является частью логической структуры схемы <выбор>.
P.S. Наверное, у меня это не очень четко звучит — когда я говорю про автоматизацию бюджетирования, то скорее всего все-таки не про автоматизацию как таковую, а про бюджетное моделирование. Но только не на базе Excel, а на базе таких технологий, как XML, Web на базе Python/Django… То есть на основе более серьезных и эффективных технологий. Результат моделирования — это не просто даже модель, а некий прототип будущей автоматизированной системы бюджетирования. С контрольными примерами, процедурами, алгоритмами и пр.
А то я так смотрю на свой блог со стороны, и думаю, что без пояснений даже не понятно, чего это меня так бросает из стороны в сторону — от Django к Excel, от Excel — к XML, от XML — к Python и т.д. =)
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 файл данные даты выгружаются в числовом формате, а нужно чтобы оставалась датами. Например, дата 30.09.2019 выгружается как 43738. Если перед датой поставить знак ‘ тогда выгружается как надо в формате даты. Как я выгружаю в XML: сначала загрузил XML-схему, сопоставляю схему с моими данными и далее XML-Экспорт и выбираю файл для сохранения. У меня Excel 2010. Пример прилагаю. Прикрепленные файлы
Изменено: Сергей Кесарев — 31.01.2020 01:23:26 |
|
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#2 31.01.2020 08:21:54 Доброе время суток
А где собственно xsd-схема? Та что есть в книге не определяет для поля др тип данных дата. Там текст
Вывод, идём, например Defining Simple Types , и изучаем, как задавать в схеме тип данных дата |
||||
Сергей Кесарев Пользователь Сообщений: 10 |
#3 31.01.2020 16:49:39 Я создавал XML карту не из XSD схемы, из аналогичного XML файла, поэтому была проблема с датой.
Изменено: Сергей Кесарев — 31.01.2020 16:50:30 |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#4 31.01.2020 19:22:12
Собственно, выше и была представлена схема. В ней достаточно было указать правильные типы данных. Импортировать. Связать с областью данных и перекопировать в новую, связанную с правильной схемой таблицу, существующие данные. Прикрепленные файлы
|
||
Понял. Работает, но не совсем так как я хотел. Дата выдается в таком формате: «1980-01-30», а мне нужно «30.01.1980». Нашел ответ на форуме, но не знаю куда правильно эту конструкцию в XSD схему вставить? <xs:simpleType name=»date_type»> |
|
sokol92 Пользователь Сообщений: 4445 |
Не уверен, что Ваше предложение поможет . |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#7 01.02.2020 16:44:51
Добрый день, Владимир. |
||
sokol92 Пользователь Сообщений: 4445 |
#8 01.02.2020 18:29:57 Здравствуйте, Андрей! Спасибо за квалифицированное разъяснение. Мы при формировании XML-файлов на основе информации книг Excel используем макросы. Владимир |
Собрать данные из XML файлов в Excel и экспортировать
Microsoft Excel – удобный инструмент для организации и структурирования самых разнообразных данных. Он позволяет обрабатывать информацию разными методами, редактировать массивы данных.
Рассмотрим возможности использования его для формирования и обработки файлов веб-приложений. На конкретном примере изучим основы работы с XML в Excel.
Как создать XML-файл из Excel
XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.
Рассмотрим создание XML-файла на примере производственного календаря.
- Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
- Создадим и вставим карту XML с необходимой структурой документа.
- Экспортируем данные таблицы в XML формат.
- Наша таблица – производственный календарь.
- Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
Сохраняем в XML файл.
Другие способы получения XML-данных (схемы):
- Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
- Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.
Как сохранить файл Excel в формате XML
Один из вариантов:
- Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
- Назначаем имя. Выбираем место сохранения и тип файла – XML.
Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.
- Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
- Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
- Открываем новую книгу. Кнопка Office – «Открыть».
Как открыть XML файл в Excel
- Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
- Способ открытия – XML-таблица. ОК.
- Появляется оповещение типа
Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.
Как преобразовать файл XML в Excel
- Меню «Разработчик» — вкладка «Импорт».
- В диалоговом окне выбираем файл XML, который хотим преобразовать.
- Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
- Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.
Созданную таблицу редактируем и сохраняем уже в формате Excel.
Как собрать данные из XML файлов в Excel
Принцип сбора информации из нескольких XML-файлов такой же, как и принцип преобразования. Когда мы импортируем данные в Excel, одновременно передается карта XML. В эту же схему можно переносить и другие данные.
Каждый новый файл будет привязываться к имеющейся карте. Каждому элементу в структуре таблицы соответствует элемент в карте. Допускается только одна привязка данных.
Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».
- Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
- Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).
Это все ручные способы импорта и экспорта файлов.
Как перевести документ Excel в формат XML?
Очень нужно для сдачи алкогольной декларации в СКБ-Контур. Может кто-то знает?
Как сохранить документ в формате XML:
- Выберите в меню «Файл» пункт «Сохранить как».
- В окне «Сохранение файла» выберите в раскрывающемся списке «Тип файла» пункт «XML-документ».
И все, нажимайте «Сохранить»!
Для преобразования файла в Exel в формат XML не требуется никакого дополнительного программного обеспечения.
Microsoft Excel предоставляет два формата файлов для XML. Один из них подходит только для версий Microsoft Excel 2002 и более ранних, другой формат понимается всеми более поздними версиями.
- Переходим в меню Файл в Microsoft Excel/ Сохранить как. Важно: обычная команда «сохранить» не предоставляет функциональные возможности конвертирования документов в другие форматы. А «сохранить как» обеспечит необходимое преобразование для документа экспортируемого в XML.
- Выберите «XML-данные» под «сохранить как» в раскрывающемся списке меню в нижней части диалогового окна. Это формат XML для всех версий Excel после 2002. Если файл XML будет использоваться более старыми программами Excel, выберите тип файла электронной таблицы XML.
Введите желаемое имя файла для нового файла XML в поле «File Name». Укажите место в поле «Сохранить в».
Нажмите на кнопку «Сохранить». Файл Microsoft Excel будет экспортирован в виде файла XML.
Конвертация форматов Microsoft Excel в XML
XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.
Процедура конвертации
Конвертация данных в формат XML не такой уж простой процесс, так как в его ходе должна быть создана специальная схема (schema.xml). Впрочем, для преобразования информации в простейший файл данного формата достаточно иметь под рукой обычные инструменты сохранения в Excel, а вот для создания хорошо структурированного элемента придется основательно повозиться с составлением схемы и её подключением к документу.
Способ 1: простое сохранение
В Excel можно сохранить данные в формате XML, просто воспользовавшись меню «Сохранить как…». Правда, нет гарантии, что потом все программы будут корректно работать с файлом, который был создан таким способом. Да и не во всех случаях этот способ работает.
- Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».
Запускается окно открытия файлов. Переходим в директорию, где содержится файл, который нам нужен. Он должен быть в одном из форматов Эксель – XLS или XLSX. Выбираем его и жмем на кнопку «Открыть», расположенную в нижней части окна.
Как видим, файл был открыт, а его данные отобразились на текущем листе. Опять переходим во вкладку «Файл».
Открывается окно сохранения. Переходим в ту директорию, в которой желаем, чтобы хранился конвертированный файл. Впрочем, можно оставить и директорию по умолчанию, то есть ту, что предложила сама программа. В этом же окне, если возникнет желание, можно изменить наименование файла. Но основное внимание нужно обратить на поле «Тип файла». Раскрываем перечень кликом по данному полю.
Среди вариантов сохранения ищем наименование «Таблица XML 2003» или «XML-данные». Выбираем один из этих пунктов.
Таким образом, преобразование файла из формата Excel в XML будет совершено.
Способ 2: инструменты разработчика
Конвертировать формат Excel в XML можно с помощью инструментов разработчика на вкладке программы. При этом, если пользователь все выполнит правильно, то на выходе он получит, в отличие от предыдущего способа, полноценный XML-файл, который корректно будет восприниматься сторонними приложениями. Но сразу нужно сказать, что не каждому новичку может хватить знаний и умений сразу научится конвертировать данные таким способом.
-
По умолчанию вкладка инструментов разработчика отключена. Поэтому, прежде всего, нужно её активировать. Переходим во вкладку «Файл» и кликаем по пункту «Параметры».
В открывшемся окне параметров перемещаемся в подраздел «Настройка ленты». В правой части окна устанавливаем галочку около значения «Разработчик». После этого жмем на кнопку «OK», размещенную в нижней части окна. Вкладка инструментов разработчика теперь включена.
Далее открываем таблицу Excel в программе любым удобным способом.
На её основе нам предстоит создать схему, которая формируется в любом текстовом редакторе. Для этих целей можно использовать и обычный Блокнот Windows, но лучше применять специализированное приложение для программирования и работы с языками разметки Notepad++. Запускаем эту программу. В ней создаем схему. На нашем примере она будет выглядеть, как показано внизу на скриншоте окна Notepad++.
Как видим, открывающим и закрывающим тегом для документа в целом служит «data-set». В этой же роли для каждой строки выступает тег «record». Для схемы вполне будет достаточно, если мы возьмем всего две строки таблицы, а не будем переводить её всю вручную в XML. Название открывающего и закрывающего тега столбца может быть произвольным, но в данном случае для удобства мы предпочли просто перевести русскоязычные наименования колонок на английский язык. После того, как данные внесены, просто сохраняем их через функционал текстового редактора в любом месте на жестком диске в формате XML под названием «schema».
Опять переходим к программе Excel с уже открытой таблицей. Перемещаемся во вкладку «Разработчик». На ленте в блоке инструментов «XML» кликаем по кнопке «Источник». В открывшемся поле в левой части окна жмем на кнопку «Карты XML…».
В открывшемся окне кликаем по кнопке «Добавить…».
Запускается окно выбора источника. Переходим в директорию расположения схемы составленной ранее, выбираем её и кликаем по кнопке «Открыть».
После того, как элементы схемы появились в окне, перетаскиваем их с помощью курсора в соответствующие ячейки наименования столбцов таблицы.
Как видим, существуют два основных способа конвертации файлов XLS и XLSX в формат XML программой Microsoft Excel. Первый из них предельно простой и заключается в элементарной процедуре сохранения с заданным расширением через функцию «Сохранить как…». Простота и понятность данного варианта, несомненно, являются преимуществами. Но у него есть один очень серьезный недостаток. Преобразование выполняется без учета определенных стандартов, и поэтому файл, конвертируемый таким способом, сторонними приложениями может просто не распознаваться. Второй вариант предполагает составление карты 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 строк)
На вкладке Разработчик нажмите кнопку Экспорт.
Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».
Если откроется небольшое диалоговое окно Экспорт XML, щелкните карту XML, которую вы хотите использовать, и нажмите кнопку ОК.
Это диалоговое окно отображается только в том случае, если не выбрана XML-таблица и книга содержит несколько карт XML.
В большом диалоговом окне Экспорт XML в поле Имя файла введите имя файла XML-данных.
Нажмите кнопку Экспорт.
Примечание: Если лист содержит заголовки или метки, отличающиеся от имен XML-элементов на карте XML, то при экспорте или сохранении данных XML приложение Excel использует имена XML-элементов.
Экспорт данных XML (для более 65 536 строк)
Найдите разность общего количества строк в файле и числа 65 537. Обозначим это число как x.
Удалите x строк с начала листа Excel.
Экспортируйте лист в виде файла данных XML (смотрите в предыдущем разделе процедуры).
Нажмите кнопку Закрыть, но не сохранить лист. Снова откройте лист Excel.
Удалите все, кроме первых x строк, а затем экспортируйте в виде файла данных XML (смотрите в предыдущем разделе процедуры).
Эта процедура позволит оставшейся части строки. На данный момент имеется два файлы Экспорт XML, объединяющие Создание дубликата исходного листа.
Если нужно обеспечить обратную совместимость с более ранними версиями функциональности XML, можно сохранить файл в виде файла данных XML, а не использовать команду Экспорт.
Нажмите клавиши CTRL+S, чтобы сохранить файл.
Это действие гарантирует, что никакие изменения, внесенные в книгу, не будут потеряны, если она сохранена в виде файла данных XML.
Выберите файл > Сохранить как и выберите расположение для сохранения файла.
В Excel 2007 нажмите Кнопку Microsoft Office , щелкните стрелку рядом с кнопкой Сохранить как и нажмите кнопку Другие форматы.
В поле Имя файла введите имя файла данных XML.
В списке Тип файла выберите тип Данные XML и нажмите кнопку Сохранить.
Если появится сообщение о том, что сохранение файла в виде данных XML может привести к потере функциональности, нажмите кнопку Продолжить.
Если откроется небольшое диалоговое окно Экспорт XML, щелкните карту XML, которую вы хотите использовать, и нажмите кнопку ОК.
Это диалоговое окно отображается только в том случае, если не выбрана XML-таблица и книга содержит несколько карт XML.
В большом диалоговом окне Экспорт XML введите в поле Имя файла имя для файла данных XML.
Нажмите кнопку Экспорт.
Примечание: Если лист содержит заголовки или метки, отличающиеся от имен XML-элементов на карте XML, то при экспорте или сохранении данных XML приложение Excel использует имена XML-элементов.
При экспорте данных XML могут появляться сообщения, подобные приведенным ниже.
Такое сообщение может появиться по следующим причинам.
На карте XML, связанной с этой XML-таблицей, есть один или несколько необходимых элементов, которые с ней не сопоставлены.
В иерархическом списке элементов в области задач «Источник XML» необходимые элементы выделены красной звездочкой. Она находится в верхнем правом углу значка, который расположен слева от элемента. Чтобы сопоставить необходимый элемент, перетащите его туда, где он должен отображаться.
Элемент представляет собой рекурсивную структуру.
Типичный пример рекурсивной структуры — иерархия сотрудников и руководителей, в которой одни и те же XML-элементы вложены на нескольких уровнях. Возможно, вы сопоставили все элементы в области задач «Источник XML». Но Excel не поддерживает рекурсивные структуры глубиной более одного уровня, поэтому сопоставить все элементы не удастся.
XML-таблица содержит смешанное содержимое.
Смешанное содержимое возникает, когда элемент содержит дочерний элемент и простой текст за пределами дочернего элемента. Это часто бывает в случае, когда теги форматирования (например, теги полужирного начертания) используются для пометки данных внутри элемента. Дочерний элемент может отображаться (если он поддерживается в Excel), но текстовое содержимое теряется при импорте данных и недоступно при экспорте, т. е не используется ни при прямой, ни при обратной операции.
Карту XML не удастся экспортировать, если невозможно сохранить отношения сопоставленного элемента с другими элементами. Отношение может не сохраниться по следующим причинам.
Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами:
атрибут maxoccurs не равен 1;
последовательность содержит более одного прямого дочернего элемента или включает в себя другой составной объект в качестве такого элемента.
Неповторяющиеся элементы одного уровня с одним и тем же повторяющимся родительским элементом сопоставлены с разными XML-таблицами.
Несколько повторяющихся элементов сопоставлены с одной и той же XML-таблицей, и повторение не определено предком.
Дочерние элементы разных родительских элементов сопоставлены с одной и той же XML-таблицей.
Кроме того, невозможно экспортировать карту XML, если она содержит одну из следующих конструкций схемы XML.
Список списков. В одном списке элементов есть другой список элементов.
Ненормированные данные. XML-таблица содержит элемент, который в соответствии с определением в схеме должен встречаться один раз (атрибуту maxoccurs присвоено значение 1). При добавлении такого элемента в XML-таблицу Excel заполнит столбец таблицы несколькими его экземплярами.
Выбор. Сопоставленный элемент является частью конструкции схемы .
Приложение Excel не может сохранить книгу в файле данных XML, пока вы не создадите один или несколько сопоставленных диапазонов.
Если вы добавили в книгу карту XML, для сопоставления XML-элементов на листе сделайте следующее.
На вкладке Разработчик выберите команду Источник.
Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».
В области задач Источник XML выберите элементы, которые вы хотите сопоставить с листом.
Чтобы выделить несмежные элементы, щелкните один из них, а затем, удерживая нажатой клавишу CTRL, поочередно щелкните остальные.
Перетащите выделенные элементы в то место листа, где они должны отображаться.
Если вы не добавили карту XML в книгу или данные не находятся в XML-таблице, сохраните книгу в формате книги Excel с поддержкой макросов (XLSM).
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Экспорт Excel в XML и наоборот
Вы можете конвертировать файл Excel в файл данных XML или наоборот. Это позволяет обмениваться информацией между различными приложениями. Для начала откройте вкладку Developer (Разработчик).
Вот данные, которые мы хотим преобразовать в файл XML:
Сперва создадим схему, основанную на исходных данных в формате XML. Схема определяет структуру XML-файла.
-
Excel для этой цели не подойдёт, поэтому откройте, к примеру, Блокнот и вставьте следующие строки:
Примечание: Теги названы по именам столбцов, но вы можете дать им любое название. Например, вместо – .
- Сохраните файл как schema.xml.
- Откройте книгу Excel.
- Кликните по Source (Источник) на вкладке Developer (Разработчик). Откроется XML панель задач.
- Чтобы добавить карту XML, нажмите кнопку XML Maps (XML карты).Появится диалоговое окно XML Maps (Карты XML).
- Нажмите Add (Добавить).
- Выберите schema.xml и дважды кликните ОК.
- Теперь просто перетащите 4 элемента из дерева в XML панели задач на лист (строка 1).
- Нажмите кнопку Export (Экспорт) в разделе XML на вкладке Developer (Разработчик).
- Сохраните файл и нажмите Enter.
Это экономит немало времени!
Примечание: Для импорта XML-файла откройте пустую книгу. На вкладке Developer (Разработчик) нажмите кнопку Import (Импорт) и выберите XML-файл.
Содержание
- Процедура конвертации
- Способ 1: простое сохранение
- Способ 2: инструменты разработчика
- Вопросы и ответы
XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.
Процедура конвертации
Конвертация данных в формат XML не такой уж простой процесс, так как в его ходе должна быть создана специальная схема (schema.xml). Впрочем, для преобразования информации в простейший файл данного формата достаточно иметь под рукой обычные инструменты сохранения в Excel, а вот для создания хорошо структурированного элемента придется основательно повозиться с составлением схемы и её подключением к документу.
Способ 1: простое сохранение
В Excel можно сохранить данные в формате XML, просто воспользовавшись меню «Сохранить как…». Правда, нет гарантии, что потом все программы будут корректно работать с файлом, который был создан таким способом. Да и не во всех случаях этот способ работает.
- Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».
- Запускается окно открытия файлов. Переходим в директорию, где содержится файл, который нам нужен. Он должен быть в одном из форматов Эксель – XLS или XLSX. Выбираем его и жмем на кнопку «Открыть», расположенную в нижней части окна.
- Как видим, файл был открыт, а его данные отобразились на текущем листе. Опять переходим во вкладку «Файл».
- После этого переходим по пункту «Сохранить как…».
- Открывается окно сохранения. Переходим в ту директорию, в которой желаем, чтобы хранился конвертированный файл. Впрочем, можно оставить и директорию по умолчанию, то есть ту, что предложила сама программа. В этом же окне, если возникнет желание, можно изменить наименование файла. Но основное внимание нужно обратить на поле «Тип файла». Раскрываем перечень кликом по данному полю.
Среди вариантов сохранения ищем наименование «Таблица XML 2003» или «XML-данные». Выбираем один из этих пунктов.
- После этого жмем на кнопку «Сохранить».
Таким образом, преобразование файла из формата Excel в XML будет совершено.
Способ 2: инструменты разработчика
Конвертировать формат Excel в XML можно с помощью инструментов разработчика на вкладке программы. При этом, если пользователь все выполнит правильно, то на выходе он получит, в отличие от предыдущего способа, полноценный XML-файл, который корректно будет восприниматься сторонними приложениями. Но сразу нужно сказать, что не каждому новичку может хватить знаний и умений сразу научиться конвертировать данные таким способом.
- По умолчанию вкладка инструментов разработчика отключена. Поэтому, прежде всего, нужно её активировать. Переходим во вкладку «Файл» и кликаем по пункту «Параметры».
- В открывшемся окне параметров перемещаемся в подраздел «Настройка ленты». В правой части окна устанавливаем галочку около значения «Разработчик». После этого жмем на кнопку «OK», размещенную в нижней части окна. Вкладка инструментов разработчика теперь включена.
- Далее открываем таблицу Excel в программе любым удобным способом.
- На её основе нам предстоит создать схему, которая формируется в любом текстовом редакторе. Для этих целей можно использовать и обычный Блокнот Windows, но лучше применять специализированное приложение для программирования и работы с языками разметки Notepad++. Запускаем эту программу. В ней создаем схему. На нашем примере она будет выглядеть, как показано внизу на скриншоте окна Notepad++.
Как видим, открывающим и закрывающим тегом для документа в целом служит «data-set». В этой же роли для каждой строки выступает тег «record». Для схемы вполне будет достаточно, если мы возьмем всего две строки таблицы, а не будем переводить её всю вручную в XML. Название открывающего и закрывающего тега столбца может быть произвольным, но в данном случае для удобства мы предпочли просто перевести русскоязычные наименования колонок на английский язык. После того, как данные внесены, просто сохраняем их через функционал текстового редактора в любом месте на жестком диске в формате XML под названием «schema».
- Опять переходим к программе Excel с уже открытой таблицей. Перемещаемся во вкладку «Разработчик». На ленте в блоке инструментов «XML» кликаем по кнопке «Источник». В открывшемся поле в левой части окна жмем на кнопку «Карты XML…».
- В открывшемся окне кликаем по кнопке «Добавить…».
- Запускается окно выбора источника. Переходим в директорию расположения схемы составленной ранее, выбираем её и кликаем по кнопке «Открыть».
- После того, как элементы схемы появились в окне, перетаскиваем их с помощью курсора в соответствующие ячейки наименования столбцов таблицы.
- Кликаем правой кнопкой мыши по полученной таблице. В контекстном меню последовательно переходим по пунктам «XML» и «Экспорт…». После этого сохраняем файл в любой директории.
Как видим, существуют два основных способа конвертации файлов XLS и XLSX в формат XML программой Microsoft Excel. Первый из них предельно простой и заключается в элементарной процедуре сохранения с заданным расширением через функцию «Сохранить как…». Простота и понятность данного варианта, несомненно, являются преимуществами. Но у него есть один очень серьезный недостаток. Преобразование выполняется без учета определенных стандартов, и поэтому файл, конвертируемый таким способом, сторонними приложениями может просто не распознаваться. Второй вариант предполагает составление карты XML. В отличие от первого способа, таблица, преобразованная по данной схеме, будет соответствовать всем стандартам качества XML. Но, к сожалению, не каждый пользователь сможет быстро разобраться с нюансами этой процедуры.
Еще статьи по данной теме: