Запись информации в документ Microsoft Word
Допустим, вам потребовалось отформатировать информацию, загруженную из базы данных, в документе Word для построения отчета. Весь процесс автоматизируется всего в нескольких строках кода РНР. Для демонстрационных целей я воспользуюсь таблицей addressbook из проекта адресной книги, приведенного в конце главы 12. Алгоритм работы сценария выглядит следующим образом:
- Подключиться к серверу MySQL и выбрать нужную базу данных.
- Выбрать все данные из таблицы с сортировкой по фамилиям.
- Открыть приложение Microsoft Word и создать новый документ.
- Отформатировать и вывести все записи в документе.
- Запросить у пользователя имя для сохранения документа.
- Закрыть Microsoft Word.
Программный код приведен в листинге 15.7.
Листинг 15.7. Запись информации в документ Microsoft Word <?
<?
// Создать соединение с сервером MySQL
$host = "localhost";
$user = "root";
$pswd = "";
$db = "book";
$address_table = "addressbook";
mysql_connect($host. $user, $pswd)
or die("Couldn't connect to MySQL server!");
mysql_select_db($db) or die("Couldn't select database!");
// Выбрать из базы данных все записи
$query = "SELECT * FROM $address_table ORDER BY lastjiame";
Sresult = mysql_query($query):
// Создать новый объект COM для приложения MS Word
$word=new COM("word.application") or die("Couldn't start Word!");
// Активизировать окно MS Word $word->visible = 1;
// Открыть пустой документ. $word->Documents->Add( );
// Перебрать записи из таблицы адресов
while($row = mysql_fetch_array($result));
$last_name = $row["last_name"];
$first_name = $row["first_name"];
$tel = $row["tel"];
$email = $row["email"];
// Вывести данные таблицы в открытый документ Word.
$word->Selection->Typetext("$last_name. $first_name\n"); $word->Selection->Typetext("tel. $tel\n"): $word->Selection->Typetext("email. $email:\n");
endwhile;
// Запросить у пользователя имя документа.
$word->Documents[l]->Save;
// Выйти из MS Word
$word->Quit();
?>
При всей
простоте рассмотренный пример наглядно
показывает, как писать приложения РНР для
пересылки содержимого базы данных в
приложения Windows. Можно написать и более
сложное приложение, обеспечивающее
синхронизацию данных, полученных из Web, из
Microsoft Outlook. Все, что для этого нужно —
получить ссылку на объекты, свойства и
методы Outlook, после чего можно переходить к
экспериментам (обзор объектной модели всех
приложений семейства Office приведен по
адресу http://www.microsoft.com/officedev/articles/Opg/toc/PGTOC.htm).