Импорт и присоединение электронных таблиц
Файлы, созданные в приложениях для работы с электронными таблицами, управления проектами и других подобных программ, также представляют собой таблицы специального вида. Было бы логично включить в Access 2002 возможность импорта таких файлов, и она действительно присутствует. Access 2002 поддерживает следующие форматы:
- Файлы рабочих листов Excel: 2.x, 3.0, 4.0, 5.0, 7.0 (Excel 95), 8.0 (Excel 97), 9.0 (Excel 2000), 10.0 (Excel 2002).
- Электронные таблицы Lotus 1-2-3: WKS, WK1, WK2, WK3, WK4.
Этих форматов достаточно, так как большинство программ для работы с электронными таблицами позволяют экспортировать данные в один из этих форматов.
Access 2002 позволяет создавать таблицы в базе данных, импортируя их из рабочих листов Excel. При этом можно импортировать как весь рабочий лист, так и отдельный именованный диапазон ячеек. В процессе импорта может быть создана новая таблица Access, содержащая все импортируемые данные, либо эти данные могут быть добавлены в уже существующую таблицу Access. При добавлении данных в существующую таблицу заголовки столбцов рабочего листа Excel (по крайней мере, для импортируемых столбцов) должны совпадать с названиями полей в таблице базы данных.
Замечание
Импорт отдельного рабочего листа из книги Excel возможен, начиная с версии Microsoft Excel 5.0 и выше. Если необходимо импортировать только один лист из книги Excel, содержащей несколько листов, сначала сохраните каждый лист в отдельный файл.
Чтобы импорт прошёл без ошибок, данные на импортируемом листе должны быть организованы соответствующим образом. На рис. 3.7 показан формат представления данных на рабочем листе Excel, наиболее подходящий для импорта в базу данных. Важно, чтобы заголовки всех полей находились в первой строке таблицы, а оставшиеся строки содержали данные. Тип данных в каждом столбце должен быть единообразным, и каждая строка должна содержать одинаковые поля. Если таблица оформлена в таком виде, процесс импорта значительно упрощается.
Рис. 3.7. Рабочий лист Excel
Для подготовки данных рабочего листа к импорту может потребоваться выполнить несколько предварительных действий.
- Запустите Microsoft Excel и откройте рабочий лист, данные которого нужно импортировать.
- Добавьте, если это необходимо, заголовки столбцов над первой строкой импортируемого диапазона данных. Заголовки столбцов будут использоваться в качестве имён полей, поэтому в них нельзя использовать символы
.
(точка),!
(восклицательный знак) и[]
(квадратные скобки). Кроме того, одно имя не может использоваться дважды. Если заголовки столбцов содержат запрещённые символы или повторяются, при импорте данных возникнет ошибка. - Если необходимо импортировать только часть данных рабочего листа, выделите нужный диапазон ячеек (вместе со строкой заголовка), затем выберите команду Вставка → Имя → Присвоить (Insert → Name → Define) и присвойте имя выделенному диапазону.
- Сохраните рабочий лист и закройте приложение Excel.
Замечание
Если ячейки рабочего листа содержат формулы, по которым вычисляются значения, то в таблицу Access будут импортированы только вычисленные значения.
Теперь данные рабочего листа можно импортировать в таблицу Access 2002. Для этого:
- Запустите Access 2002 и откройте базу данных, в которую необходимо импортировать данные. Активируйте окно База данных (Database), щелкнув по его заголовку левой кнопкой мыши.
- Выберите команду Файл → Внешние данные → Импорт (File → Get External Data → Import). Появится диалоговое окно Импорт (Import).
- Перейдите в папку, содержащую файл рабочего листа Excel. В раскрывающемся списке Тип файла (File of Type) выберите Microsoft Excel (*.xls). Выделите файл и нажмите кнопку Импорт (Import) или дважды щелкните по имени файла. Запустится Мастер импорта электронной таблицы (Import Spreadsheet Wizard), первое диалоговое окно которого показано на рис. 3.8.
Рис. 3.8. Первое диалоговое окно Мастера импорта электронной таблицы
- Если необходимо импортировать весь рабочий лист, выберите переключатель Листы (Show Worksheets). Если нужно импортировать именованный диапазон, выберите переключатель Именованные диапазоны (Show Named Ranges). В списке первого окна мастера появятся доступные рабочие листы или диапазоны. На рис. 3.8 список объектов состоит только из одного элемента "Клиенты", поскольку импортируемая таблица содержит один рабочий лист.
- Выделите нужное имя рабочего листа или диапазона ячеек. В нижней части окна мастера отобразится образец данных. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу (рис. 3.9).
Рис. 3.9. Второе диалоговое окно Мастера импорта электронной таблицы
- Если первая строка импортируемых данных содержит заголовки столбцов, установите флажок Первая строка содержит заголовки столбцов (First Row Contains Column Headings). Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу (рис. 3.10).
Рис. 3.10. Третье диалоговое окно Мастера импорта электронной таблицы
- На этом этапе можно выбрать, куда сохранить импортируемые данные — в новую таблицу или в существующую. Выберите нужный переключатель и, если требуется, укажите таблицу в списке В существующей таблице (In an Existing Table). Нажмите Далее (Next). Если данные добавляются в существующую таблицу, следующие шаги пропускаются, и сразу появляется последнее окно мастера.
- Если создаётся новая таблица, откроется диалоговое окно, изображённое на рис. 3.11.
Рис. 3.11. Четвёртое диалоговое окно Мастера импорта электронной таблицы
- В этом окне можно выбрать, какие столбцы импортировать, и задать параметры полей. Чтобы не импортировать какое-либо поле, выделите его и установите флажок Не импортировать (пропустить) поле (Do not import field).
- Мастер импорта позволяет изменить имена полей будущей таблицы. Чтобы задать имя, выделите нужный столбец и введите название в поле Имя поля (Field Name).
- Если необходимо проиндексировать поле, выберите нужный вариант в списке Индекс (Indexed).
Замечание
Если рабочий лист не отформатирован, Access предложит выбрать тип данных для каждого поля с помощью раскрывающегося списка Тип данных (Data Type). На рис. 3.11 этот список недоступен, так как Access 2002 автоматически определил форматы данных.
- Если данные рабочего листа не были предварительно форматированы, Access позволяет задать тип данных для каждого столбца. В раскрывающемся списке Тип данных (Data Type) выберите нужный формат.
- Повторите шаги 9—11 для каждого импортируемого столбца. После того как все параметры заданы, нажмите кнопку Далее (Next). Откроется следующее диалоговое окно мастера (рис. 3.12).
Рис. 3.12. Пятое диалоговое окно Мастера импорта электронной таблицы
- На пятом шаге мастера можно определить ключевое поле новой таблицы. Если Access 2002 должен автоматически добавить поле Счётчик (AutoNumber), выберите переключатель Автоматически создать ключ (Let Access add Primary Key). Если необходимо вручную задать ключевое поле, выберите Определить ключ (Choose my own Primary Key) и укажите соответствующий столбец. Если ключевое поле не требуется, выберите Не создавать ключ (No Primary Key). После выбора нажмите Далее (Next).
Рис. 3.13. Шестое диалоговое окно Мастера импорта электронной таблицы
Совет
Перед тем как задать ключевое поле на основе одного из столбцов таблицы, убедитесь, что все значения в этом столбце уникальны.
- В поле Импорт в таблицу (Import to Table) введите имя новой таблицы. По умолчанию Access использует имя рабочего листа или диапазона ячеек. Можно также сразу включить режим анализа структуры таблицы, установив флажок Проанализировать таблицу после импорта данных (I would like a wizard to analyze my table after importing the data). Чтобы завершить импорт, нажмите кнопку Готово (Finish). После завершения импорта появится сообщение об успешном окончании операции.
Замечание
Если имя таблицы, введённое на последнем шаге мастера, совпадает с именем существующей таблицы, Access предложит заменить старую таблицу новой или переименовать новую таблицу.
Access 2002 автоматически анализирует первые 20 строк импортируемого диапазона, чтобы определить тип данных. Например, если в колонке сначала идут только числа, а затем встречается текст, Access не меняет тип данных, а создаёт таблицу ошибок импорта (Import Errors), содержащую записи обо всех проблемных значениях.
После завершения импорта, если возникли ошибки, появится сообщение, аналогичное показанному на рис. 3.14.
Рис. 3.14. Сообщение об ошибке импорта
Таблица ошибок импорта (рис. 3.15) позволяет быстро найти проблемные записи и исправить их. Однако правильнее будет исправить исходный рабочий лист Excel и повторить импорт данных.
Рис. 3.15. Таблица ошибок импорта
Импортированная таблица появится в окне базы данных. Чтобы убедиться, что данные загружены корректно, откройте таблицу в режиме Таблицы (Table), дважды щелкнув по её названию.
Рис. 3.16. Импортированная таблица в режиме Конструктора
Access 2002 также поддерживает возможность связывания рабочего листа Excel с базой данных. Это позволяет работать с таблицей как в Excel, так и в Access одновременно. Однако изменение структуры рабочего листа требует обновления связи.
Процесс присоединения рабочего листа Excel выполняется почти так же, как импорт. Единственное отличие – используется команда Связь с таблицами (Link Tables), а Мастер связывания электронной таблицы (Link Spreadsheet Wizard) не позволяет выбирать столбцы или изменять их параметры.