Опубликован: 13.09.2006 | Уровень: для всех | Доступ: свободно
Лекция 4:

Excel и базы данных

Создание базы данных в Excel

Сейчас я рассмотрю создание базы данных офиса РР непосредственно в Excel. Будут созданы те же таблицы с той же структурой, что и в базе, которая только что создавалась в Access. Я рассмотрю разные способы создания этих таблиц, в том числе путем экспорта таблиц Access. Первым делом я создал новую книгу Excel, в которой завел 5 рабочих листов по числу создаваемых таблиц, каждая страница именовалась по названию таблицы базы данных. Затем я перешел к созданию таблицы "Книги" на листе с одноименным названием. В процессе этой работы я следовал рекомендациям, приведенным в предыдущем параграфе. Работа это простая, и не думаю, что требуются хоть какие-либо дополнительные пояснения. Конечно, на этом этапе требуется выполнить подходящее форматирование для ячеек таблицы, но я не буду на этом останавливаться. Форматирование может быть и другим. Взгляните, что у меня получилось, и надеюсь, Вы сумеете сделать эту работу не хуже меня, в особенности с учетом того, что я не обладаю хорошим художественным вкусом.

Таблица "Книги", спроектированная в Excel

увеличить изображение
Рис. 4.14. Таблица "Книги", спроектированная в Excel
Экспорт таблиц Access

Если база данных в Access уже создана, то ее можно без труда экспортировать в Excel. Этим мы сейчас и займемся. Поскольку операции по экспорту можно выполнять по-разному, то я рассмотрю несколько способов. Начну с самого простого, основанного на классическом использовании буфера при переносе тех или иных данных из одного приложения Office 2000 в другое. Вот краткое описание моих действий по переносу таблицы "Сотрудники". Прежде напомню, что к моменту начала переноса таблицы у меня уже создана книга Excel, страницы которой будут хранить базу данных, и первая таблица этой базы была только что создана. Так что мне осталось сделать следующее:

  • Открыть БД офиса РР, сделанную на Access.
  • Открыть таблицу "Сотрудники" в режиме таблицы, выделить и скопировать в буфер ее содержимое.
  • Перейти на страницу "Сотрудники" рабочей книги Excel и выполнить операцию "Специальная вставка" из буфера, вставляя содержимое как текст в формате Unicode.
  • Отформатировать подходящим образом вставленную таблицу. Замечу, что для единообразия использовалось форматирование уже созданной таблицы "Книги".
  • Вся работа заняла несколько минут. Вот как выглядит таблица "Сотрудники" после ее переноса на соответствующий лист рабочей книги:
Копирование таблицы "Сотрудники" из Access в Excel

Рис. 4.15. Копирование таблицы "Сотрудники" из Access в Excel
Специальные средства экспорта таблиц Access в Excel

Вместе с тем Access имеет специальные, развитые средства экспорта таблиц БД и других своих объектов - запросов, форм, отчетов. Таблицу "Заказы" я переместил в Excel, используя следующий способ:

  • В окне базы данных Access выбрал имя таблицы "Заказы".
  • В меню Сервис выбрал команду "Связи с Office" и подкоманду "Анализ в MS Excel". Результатом ее выполнения стало автоматическое создание новой книги Excel с единственной страницей "Заказы", содержащей требуемую таблицу с подходящим форматированием. Заметьте, что команда Связи с Office имеет и другие подкоманды - Слияние с MS Word, Публикация в MS Word, - позволяющие передавать таблицу Access в приложение Word. Все подкоманды команды Связи с Office позволяют выполнять операции не только с таблицами, но и с частями таблиц, запросами, формами, отчетами.
  • Получив на предыдущем шаге нужную мне таблицу в Excel, я использовал далее средства Excel для перемещения таблицы в нужное место имеющейся у меня книги. После чего я применил собственное форматирование, чтобы сохранить единый стиль всех страниц моей книги, хранящей базу данных.
Экспорт таблицы "Заказы" с использованием команды Анализ в MS Excel

увеличить изображение
Рис. 4.16. Экспорт таблицы "Заказы" с использованием команды Анализ в MS Excel

Наконец, я рассмотрю еще один возможный способ экспорта таблицы Access, основанный на широких возможностях Access по сохранению его объектов в виде файлов самых различных форматов. Например, таблицы, запросы, формы, отчеты можно экспортировать в формат HTML. Таблицы и запросы можно экспортировать в БД, удовлетворяющие стандарту ODBC, их можно экспортировать в текстовые файлы, в ASP-страницы, в базы данных Paradox или dBase и во многие другие форматы. Естественно, среди форматов присутствуют и форматы файлов Excel различных версий. Вот как выглядят мои действия по экспорту таблицы "Заказчики":

  • Открыл БД Access и выбрал нужную мне таблицу "Заказчики".
  • В меню "Файл" выбрал команду "Сохранить как", а затем - "Экспорт".
  • В появившемся диалоговом окне Экспорта выбрал папку, согласился с предложенным именем файла, совпадающим с названием таблицы, в окошке "тип файла" из раскрывающегося списка, задающего многочисленные возможности по экспорту таблицы, выбрал тип "Microsoft Excel 97-2000". Затем включил флажок "Сохранить формат" и щелкнул кнопку OK. Хочу обратить внимание на то, что при выполнении этой операции следует быть осторожным поскольку, если задать имя существующего файла в папке, то все его содержимое заменится новой единственной страницей.
  • В результате этих действий автоматически создается новая книга Excel с заданным именем файла, на единственный лист которой и записывается сохраняемая таблица. Результат этих действий немногим отличается от предыдущего случая, когда использовалась команда Связи с Office.
  • Также как и в предыдущем случае экспорта таблицы, получив файл Excel, я занялся перемещением полученной таблицы, используя средства Excel для перемещения таблицы в нужное место имеющейся у меня книги. После чего применил собственное форматирование, чтобы сохранить единый стиль всех страниц моей книги, хранящей базу данных.

Вот окончательный результат моих действий:

Экспорт таблицы "Заказчики"

увеличить изображение
Рис. 4.17. Экспорт таблицы "Заказчики"

Как видите, есть много способов, позволяющих перенести таблицы базы данных Access в списки Excel. Какой из них выбрать - дело вкуса. Скажу честно, я предпочитаю первый способ, когда таблица переносится через буфер без создания промежуточных файлов. То, что при этом может не сохраниться форматирование полей, не представляется особой бедой, поскольку после переноса таблицы в Excel все равно приходиться, как правило, заниматься форматированием, подбирая размеры строк и столбцов, шрифт, цвет и прочие атрибуты.

Ольга Гафарова
Ольга Гафарова
Непонятен ход решения задачи
Серегй Лушников
Серегй Лушников
Может ли объект Recordset быть потомком объекта Record?
Геннадий Шестаков
Геннадий Шестаков
Беларусь, Орша
Светлана Ведяева
Светлана Ведяева
Россия, Саратов