Как Создать Файл в Формате Xml из Excel • Просмотр в браузере

Как Создать Файл в Формате Xml из Excel

Содержание

Постановка задачи

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

В этой статье показывается, как средствами Microsoft Office Excel 2003 импортировать данные и установить динамическую связь диаграммы с данными. Кроме того, мы создадим удобный UI, позволяющий задавать параметры отчета и импортировать данные для отчета. Общий вид решения показан на рис. 1.

XML-сопоставление в Excel 2003

XML-карты

На рис. 3 показано, как XML-карта используется в нашей рабочей книге. В XML-карте заданы два ключевых элемента — OrderDay и Sales. При выборе элементов карты в секции XML Structure Excel выбирает соответствующий диапазон ячеек рабочей книги. Аналогично при выборе ячейки в диапазоне Excel выбирает соответствующий элемент карты в Task Pane.

<
Рисунок:
XML Map — XML-карта
Mapped Cells — Сопоставляемые ячейки
>

Добавление XML-карты

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

Чтобы добавить XML-карту в рабочую книгу через UI:

  1. В меню Data выберите XML, щелкните XML Source.
  2. В секции XML Source щелкните XML Maps. , затем щелкните Add.
  3. Выберите допустимый XML-, XSD- или UDC-файл, щелкните Open.
  4. Щелкните OK, чтобы добавить XML-карту.

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

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

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

Списки Excel

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

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

Считывание XML-данных в Excel

Считать XML-данные в рабочий лист Excel можно несколькими способами. У класса Workbook три ключевых метода импорта XML-данных в Excel:

Для загрузки данных из файла в рабочую книгу используется метод OpenXML. Это программный эквивалент открытия XML-файла в Excel выбором Open в меню File. В следующей таблице показаны различные варианты открытия XML-файлов в Excel и их описание.

Вариант Описание
xlXmlLoadImportToList Загрузка данных из исходного файла в XML-список
xlXmlLoadMapXml Создание XML-карты в соответствии с данными исходного файла
xlXmlLoadOpenXml Загрузка данных из исходного файла в новую рабочую книгу
xlXmlLoadPromptUser Вывод диалогового окна, предлагающего выбрать один из трех приведенных выше вариантов

Примечание Если вы используете существующую XML-карту, не передавайте параметр Destination.

Последний метод, XMLImportXML, аналогичен XMLImport за исключением того, что указывается не URL, определяющий местонахождение импортируемых данных, а строка, содержащая сами данные. Все остальные параметры точно такие же.

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

Наше бизнес-решение получает вводимые пользователем данные, обращаясь к URL, по которому находятся данные. Когда пользователь щелкает кнопку на рабочем листе, выполняется процедура обработки события. Эта процедура импортирует данные. У метода ImportXML имеется обязательный параметр, принимающий ссылку на объект XMLMap. Мы получаем эту ссылку следующим образом:

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

Источники данных динамических диаграмм

Чтобы добавить диаграмму в рабочий лист:

  1. В меню Insert выберите Chart.
  2. Следуйте указаниям Chart Wizard и выберите тип диаграммы Line.
  3. Щелкните Next, чтобы задать источник данных, или Finish, чтобы поместить на рабочий лист пустую диаграмму.

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

Чтобы указать XML-список в качестве источника данных диаграммы

  1. Поместите курсор на XML-список, чтобы выбрать его.
  2. Щелкните рамку XML-списка, чтобы перетащить его на диаграмму. Откроется диалоговое окно Paste Special.
  3. Щелкните OK, чтобы принять параметры по умолчанию и показать данные XML-списка в диаграмме.

После выполнения этих операций появится диаграмма вида, показанного на рис. 6.

Рис. 6. Окончательный вид диаграммы, связанной с XML-списком

Заключение

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

Импорт XML-карт, XML-списков и источников данных динамических диаграмм в Excel 2003.
Наше бизнес-решение автоматически загружает данные в XML-список, когда пользователь щелкает кнопку. Но, чтобы все это работало, список уже должен существовать. Значит, сначала нужно добавить список в рабочий лист.
Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
Применение этого средства в сочетании с технологией XML-сопоставлений позволяет объединять сопоставляемые XML-данные в группы и обрабатывать их более интеллектуально. Если же вы хотите что-то уточнить, я с радостью помогу!
Возникнуть такая задача может по разным причинам. Как правило — это бэкап и перенос из базы в базу. Сейчас нас не интересует причина, просто примем как данность: потребовалась выгрузка, а затем последующая загрузка. Ее мы и будем сегодня выполнять.
Открытие файла формата xml с помощью блокнота Windows

Новичок новичку: как выгрузить/загрузить XML данные

  1. В меню Data выберите XML, щелкните XML Source.
  2. В секции XML Source щелкните XML Maps. , затем щелкните Add.
  3. Выберите допустимый XML-, XSD- или UDC-файл, щелкните Open.
  4. Щелкните OK, чтобы добавить XML-карту.

Файл = ПолучитьОбъектФайл ( ФайлEXCEL );
Если Файл = Неопределено Тогда
Сообщить ( «Невозможно загрузить данные, т.к. невозможно открыть для чтения файл:
|» + ФайлEXCEL );
Возврат Ложь;
КонецЕсли ;

Вариант Описание
xlXmlLoadImportToList Загрузка данных из исходного файла в XML-список
xlXmlLoadMapXml Создание XML-карты в соответствии с данными исходного файла
xlXmlLoadOpenXml Загрузка данных из исходного файла в новую рабочую книгу
xlXmlLoadPromptUser Вывод диалогового окна, предлагающего выбрать один из трех приведенных выше вариантов
Оставить отзыв

Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.