Office XP і обмін XML-даними
Зміст
- Обмін XML-даними з Excel 2002
- Відкриття та збереження XML-документів
- Відкриття та збереження XML-документів за допомогою VBA
- Відкриття та збереження XML-документів
- Обмін XML-даними з Access 2002
- Імпорт XML-документів
- Експорт XML-документів
- Імпорт XML-документів
- Висновок
У нашому журналі ми вже писали про те, що нового з'явилося в додатках Microsoft Office XP. Ця стаття присвячена лише одному, але дуже корисного нововведення – підтримці мови XML (Extensible Markup Language), який увійшов в останні роки до числа найпопулярніших індустріальних стандартів і широко застосовується для обміну даними між додатками.
При всій популярності XML на сьогоднішній день відомо не так вже й багато засобів підготовки XML-даних. В даний час XML в тому чи іншому вигляді підтримується переважною більшістю СУБД і засобів розробки, проте утиліти маніпуляції XML-даними з їх комплектів поставки – далеко не самий відповідний інструмент для кінцевих користувачів. Тому включення до Office XP (а саме – в Excel і Access) можливості збереження документів у форматі XML, так само як і читання XML-даних, представляється досить своєчасним.
Обмін XML-даними з Excel 2002
Де і як можна застосовувати підтримку XML в Excel? Один з типових прикладів – аналіз за допомогою Excel (або за допомогою додатків – контролерів автоматизації Excel) даних, отриманих з декількох різнорідних джерел, наприклад з BizTalk Server або з додатків для інших операційних систем, або надсилання даних з робочої книги Excel у такі додатки. Перевага такого підходу в порівнянні з застосуванням XML-редакторів очевидно: Excel на відміну від XML-редакторів, добре знайома багатьом користувачам і розробникам.
Відкриття та збереження XML-документів
Спробуємо зберегти робочу книгу Excel (рис. 1) у вигляді XML-документа, вибравши відповідний його тип – XML Spreadsheet – у діалозі збереження файлу. У цьому випадку робоча книга буде збережена в XML-файлі, структура якого заснована на схемі, розробленої Microsoft.
Рис. 5. Діалог експорту об'єктів Access у документ XML
Крім таблиць у формат XML (з можливим одночасним створенням XSD-схеми) можна експортувати результати запитів, звіти, форми. При необхідності можна зберегти структуру таблиці, запиту, форми або звіту у файлі, що містить відомості не тільки про типи полів, але й про те, як здійснюється з'єднання з джерелом даних і яким чином ці дані повинні бути представлені. Для форм і звітів такий файл зберігається у вигляді коду мовою ReportML, спеціально розробленому Microsoft для XML-опису об'єктів баз даних Access. ReportML містить набір тегів для опису елементів форм, звітів і сторінок доступу до даних і застосовується для перетворення збережених звітів і форм в сторінки доступу до даних.
Імпорт і експорт XML-документів за допомогою VBA
Імпорт XML-документа в VBA може бути здійснений за допомогою методу ImportXML об'єкта Application:
Application.ImportXML “D:article.xml”, acStructureAndData
Другий параметр представляє собою константу, приймаючу наступні значення: acStructureOnly – імпортувати тільки структуру даних; acStructureAndData – імпортувати і структуру, і дані; acAppendData – Додати дані до вже існуючої таблиці. Таким чином, список параметрів повністю відповідає опцій, вибираним при імпорті файлів (див. рис. 3).
Експорт XML-документа в VBA можна здійснювати за допомогою методу ExportXML об'єкта Application:
Application.ExportXML acExportTable, "Article", "D: article.xml", "D: article.xsd"
Перший параметр цього методу вказує, який саме об'єкт експортується – форма, запит, таблиця або звіт. Якщо експорт здійснюється з проекту Access, для експорту також доступні подання і збережені процедури MSDE. Другий параметр вказує ім'я експортованого об'єкта, третій і четвертий – імена XML-і XSD-файлів (останній може бути опущений). Цей метод містить ще кілька необов'язкових параметрів, описують деталі експорту, про які було сказано в попередньому розділі.
Зверніть увагу, що експортувати таблиці і звіти в формат XDR (як уже говорилося вище, він нерідко застосовується для обміну даними з іншими ADO-додатками) за допомогою методу ExportXML, так само як і імпортувати такі дані за допомогою ImportXML, не вдасться. Проте для цієї мети можна створити об'єкт типу ADO Recordset, виконати запит, що заповнює його даними, і потім зберегти в XDR-файлі:
Set rs = New Recordset
rs.Open “SELECT * FROM Article”, CurrentProject.Connection
rs.Save “D:Article.xml”, adPersistXML
Прочитати XDR-файл можна за допомогою методу Open того ж об'єкта ADO Recordset – цей метод завантажує XDR-файл у буфер об'єкта Recordset:
Set rs = New Recordset
rs.Open “D:Article.xml”
Далі з об'єктом Recordset можна робити все що завгодно – додавати, видаляти, змінювати записи, додавати його дані в наявні таблиці.
Висновок
У цій статті ми розглянули підтримку обміну XML-даними в деяких додатках Office XP. Ми розповіли про можливості читання та збереження XML-документів в Excel 2002, а також про можливості та способи імпорту XML-даних в Access і експорту таблиць, запитів, форм і звітів Access у XML-документи. Ми також з'ясували, які об'єкти і методи дозволяють здійснювати ці дії у VBA-програмах.
Відзначимо, однак, що XML застосовується в самому Office XP не тільки для обміну даними з іншими додатками, але і для власних, «внутрішніх», цілей, зокрема для створення смарт-тегів. Але про це ми розповімо наступного разу.
Схожі статті:
- Серверні скрипти. Введення (0)
- Пам'ятка по CSS (0)
- Введення в Cookies. (0)
- Введення в Cookies. (0)
- 19 "монітори стають все більш привабливими (0)
- 3D-printing: друк або скульптура? (0)
- Harvest: ключ до управління проектами. Частина 2 (0)
Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.
Коментарів поки що немає.
Ваш отзыв
Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>