Как Создать Файл в Формате 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:
- В меню Data выберите XML, щелкните XML Source.
- В секции XML Source щелкните XML Maps. , затем щелкните Add.
- Выберите допустимый XML-, XSD- или UDC-файл, щелкните Open.
- Щелкните OK, чтобы добавить XML-карту.
Чтобы задать сопоставление ячеек элементам XML-карты, нужно выделить ячейку или диапазон ячеек и перетащить элемент карты на выбранные ячейки. Кроме того, можно выполнить такое сопоставление программно, даже при импорте данных из внешнего источника, что и сделано в нашем бизнес-решении.
При выполнении процедуры импорта можно указать существующую XML-карту, т. е. допускается повторное использование существующих XML-карт. Если при импорте XML-данных XML-карта не указана, Excel сгенерирует ее, связав импортируемые элементы данных с элементами XML-карты.
Еще больше упрощает разработку решения возможность использовать списки Excel. Применение этого средства в сочетании с технологией XML-сопоставлений позволяет объединять сопоставляемые XML-данные в группы и обрабатывать их более интеллектуально.
Списки Excel
Наше бизнес-решение автоматически загружает данные в XML-список, когда пользователь щелкает кнопку. Но, чтобы все это работало, список уже должен существовать. Значит, сначала нужно добавить список в рабочий лист.
- Выберите ячейку, которая будет верхней левой ячейкой XML-списка.
- Выберите корневой элемент в секции XML Structure, чтобы выделить его в XML-карте.
- Перетащите выделенный корневой элемент из секции 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-сопоставления.
Источники данных динамических диаграмм
Чтобы добавить диаграмму в рабочий лист:
- В меню Insert выберите Chart.
- Следуйте указаниям Chart Wizard и выберите тип диаграммы Line.
- Щелкните Next, чтобы задать источник данных, или Finish, чтобы поместить на рабочий лист пустую диаграмму.
После добавления диаграммы нужно указать, что ее источником данных является XML-список, но мы сделаем это не в диалоговом окне Chart Wizard. Поступим проще. Сразу же щелкнем Finish, тогда добавится пустая диаграмма, которая пока что не отображает никаких данных.
Чтобы указать XML-список в качестве источника данных диаграммы
- Поместите курсор на XML-список, чтобы выбрать его.
- Щелкните рамку XML-списка, чтобы перетащить его на диаграмму. Откроется диалоговое окно Paste Special.
- Щелкните OK, чтобы принять параметры по умолчанию и показать данные XML-списка в диаграмме.
После выполнения этих операций появится диаграмма вида, показанного на рис. 6.
Рис. 6. Окончательный вид диаграммы, связанной с XML-списком
Заключение
В Excel 2003 появились новые процедуры импорта XML-данных, предоставляющие дополнительные возможности. С помощью XML-сопоставления можно передать импортированные данные в существующий XML-список, перезаписав при этом существующие данные или добавив импортированные данные к существующим.

Новичок новичку: как выгрузить/загрузить XML данные
- В меню Data выберите XML, щелкните XML Source.
- В секции XML Source щелкните XML Maps. , затем щелкните Add.
- Выберите допустимый XML-, XSD- или UDC-файл, щелкните Open.
- Щелкните OK, чтобы добавить XML-карту.
Файл = ПолучитьОбъектФайл ( ФайлEXCEL );
Если Файл = Неопределено Тогда
Сообщить ( «Невозможно загрузить данные, т.к. невозможно открыть для чтения файл:
|» + ФайлEXCEL );
Возврат Ложь;
КонецЕсли ;
| Вариант | Описание |
| xlXmlLoadImportToList | Загрузка данных из исходного файла в XML-список |
| xlXmlLoadMapXml | Создание XML-карты в соответствии с данными исходного файла |
| xlXmlLoadOpenXml | Загрузка данных из исходного файла в новую рабочую книгу |
| xlXmlLoadPromptUser | Вывод диалогового окна, предлагающего выбрать один из трех приведенных выше вариантов |



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