Пример использования технологии ADO для чтения и записи данных в книге Excel

Переводы статьи Переводы статьи
Код статьи: 278973 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

Образец ExcelADO.exe показывает, как использовать объекты данных ActiveX (ADO) Microsoft Jet OLE DB 4.0 поставщик для чтения и записи данных в книгах Microsoft Excel.

Дополнительная информация

Следующий файл доступен для загрузки из центра загрузки Майкрософт:
ExcelADO.exe
Дата выпуска: 12 декабрь 2000 г.

Для получения дополнительных сведений о том, как загрузить файлы поддержки Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Майкрософт из Интернета
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние версии антивирусного программного обеспечения на дату публикации файла. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.

Зачем использовать ADO?

Использование ADO для передачи данных, или извлечь данные из книги Excel дает вам, разработчик, имеет преимущества перед автоматизации в Excel:
  • Производительность. Microsoft Excel является сервером ActiveX вне процесса. ADO выполняется в процессе и сохраняет дополнительные издержки дорогостоящих вызовов вне процесса.
  • Масштабируемость. Для веб-приложений не всегда желательно для автоматизации приложения Microsoft Excel. ADO предоставляет гибкий решения для обработки данных в книге.
ADO могут использоваться исключительно для передачи необработанных данных в книгу. ADO не позволяет применять форматы и формулы ячейки. Тем не менее книги, которая является отформатированным позволяет передавать данные и формат сохраняется. Если требуется «условное» форматирование после вставки данных, можно выполнить форматирование с помощью автоматизации или макросов в книге.

Особенности Jet поставщика OLE DB для книг Excel

Ядро базы данных Microsoft Jet может использоваться для доступа к данным в других форматах файлов базы данных, таких как книги Excel через устанавливаемые драйверы индексно-последовательного метода доступа (ISAM). Чтобы открыть внешних форматов, поддерживаемых Microsoft Jet 4.0 OLE DB Provider, указать тип базы данных в расширенных свойствах подключения. Поставщика данных Jet OLE DB поддерживает следующие базы данных книги Microsoft Excel:
  • Excel 3.0
  • Microsoft Excel 4.0
  • Microsoft Excel версии 5.0
  • Excel 8.0
ПРИМЕЧАНИЕ: Используйте тип базы данных источника Excel 5.0 для книг Microsoft Excel версии 5.0 и 7.0 (95) и типа базы данных источника Excel 8.0 для Microsoft Excel 8.0 (97) и 9.0 книг (2000). Образец ExcelADO.exe использует книг Excel в формате Excel 2000 и Excel 97.

В следующих примерах демонстрируется книгу ADO соединения с Excel 97 (или 2000):
Dim oConn As New ADODB.Connection
With oConn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Extended Properties").Value = "Excel 8.0"
    .Open "C:\Book1.xls"
    '....
    .Close
End With
				
-ИЛИ-
Dim oConn As New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=C:\Book1.xls;" & _
           "Extended Properties=""Excel 8.0;"""
oConn.Close
				
Соглашения об именах таблиц

В книге Excel можно несколькими способами, можно ссылаться на таблицу (или диапазон):
  • Имя листа, а затем знак доллара (например, [Лист1$] или [Мой лист$]). Книги таблицы, на который ссылается таким образом состоит из всего используемого диапазона листа.
    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
    					
  • Используйте диапазон с определенным именем (например, ["Table1"]).
    oRS.Open "Select * from Table1", oConn, adOpenStatic
    					
  • Использовать диапазон с конкретного адреса (например, [Лист1$ A1: B10]).
    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic
    					
Заголовки таблицы

С книгами Excel первая строка диапазона считается строку заголовка (или имена полей) по умолчанию. Если первый диапазон не содержит заголовков, можно указать HDR = НЕТ в расширенных свойств в строке соединения. Если первая строка содержит заголовки, поставщик OLE DB автоматически имена полей автоматически (где F1 будет представлять первому полю, F2 бы представляют второе поле и так далее).

Типы данных

В отличие от традиционных баз данных не существует прямого способа определить типы данных для столбцов в таблицах Excel. Вместо этого поставщика OLE DB сканирует ограниченное число строк в столбце Тип данных для поля «подобрать». Число строк, по умолчанию-8 (восьми) строк; можно изменить количество просматриваемых строк, указав значение от одного (1) до шестнадцати (16) для MAXSCANROWS задания в расширенные свойства строки подключения.

Файлы, включенные в образце

Файл ExcelADO.exe содержит проекта Visual Basic стандартный файл EXE, Active Server Pages (ASP), Excel 97 и книг Excel 2000, выступать в роли шаблонов и базы данных Microsoft Access 2000. Ниже приведены включенные файлы.

Проект EXE файлы Visual Basic
  • ExcelADO.vbp
  • Form1.frm
  • Form1.FRX
Активные страницы сервера
  • EmpData.asp
  • Orders.ASP
Книги Microsoft Excel
  • OrdersTemplate.xls
  • EmpDataTemplate.xls
  • ProductsTemplate.xls
  • SourceData.xls
База данных Microsoft Access
  • Data.mdb

Использование образца

Извлеките содержимое файла EXE-файл в папку.

Использование проекта Visual Basic:
  1. В Visual Basic откройте файл ExcelADO.vbp.
  2. На Проект Выберите пункт Ссылкии установите ссылки Microsoft ADO Ext. DDL и безопасности и Библиотека объектов данных ActiveX Microsoft. Этот пример работает с ADO 2.5 и ADO 2.6, поэтому выберите версию, соответствующую к вашему компьютеру.
  3. Нажмите клавишу F5 для запуска программы. Появится форма для демонстрации.
  4. Нажмите кнопку Пример 1. В этом примере создается копия OrdersTemplate.xls. Он использует ADO для подключения к книге и открывает Набор записей в таблице, которая представляет собой определенный диапазон книги. Имя диапазона Orders_Table. Он использует ADO Метод AddNew/Обновление методы для добавления записи (или строки) для определенного диапазона в книге. После завершения строк, добавив, ADO Подключение закрывается и книга отображается в Microsoft Excel. Выполните следующие действия, чтобы сделать это.
    1. На Вставка в меню Microsoft Excel, выберите Имена, а затем выберите Определение.
    2. Выберите в списке имена, Orders_Table. Обратите внимание, что для включения новых добавленных записей достиг определенного имени. Определенное имя используется, вместе с Excel функции СМЕЩ, для вычисления итогов данных на листе.
    3. Выйти из Microsoft Excel и вернуться в приложение Visual Basic.
  5. Нажмите кнопку Пример 2. В этом примере создается копия EmpDataTemplate.xls. Он использует ADO для подключения к книге, а Выполнение метод подключения ADO для вставки данных (INSERT INTO в SQL) в книге. Данные добавляются в определенных диапазонов (или таблиц) в книге. При передаче данных, подключение закрывается и книгу, результаты отображаются в Excel. После изучения книги выходе из Microsoft Excel, а затем вернитесь в приложение Visual Basic.

  6. Нажмите кнопку Пример 3. В этом примере создается копия ProductsTemplate.xls. В книге использует 2.1 расширений Microsoft ADO для DDL и безопасности объектов библиотеки (ADOX) для добавления новой таблицы (или новый лист). Диспетчер соединений ADO Набор записей Затем полученный для новой таблицы и данные добавляются с помощью Метод AddNew/Обновление методы. После завершения строк, добавив, ADO Подключение закрывается и книга отображается в Excel. Книга содержит программу Visual Basic для приложений (VBA) код макроса в Открыть события для книги. Запуск макроса при открытии книги; Если в книгу новый лист «Продукты», код макроса форматирует лист, а затем удаляется код макроса. Этот метод предоставляет способ для веб-разработчиков переместить код форматирования от веб-сервера и на стороне клиента. Веб-узел, приложение может потоковой передачи форматированных книги, которая содержит данные для клиента и разрешить макрос, выполнит любые «условного» форматирование, которое может оказаться невозможным в шаблоне самостоятельно, для запуска на клиенте.

    ПРИМЕЧАНИЕ: Чтобы код макроса, просмотрите ThisWorkbook модуль VBAProject для ProductsTemplate.xls.

  7. Нажмите кнопку Пример 4. Этот пример создает те же результаты, как образец 1, но метод, используемый для передачи данных несколько отличается. В примере 1 записи (или строки) добавляются на один лист за один раз. Пример 4 добавляет записи в пакетном режиме присоединения таблицы Excel в базу данных Access, а затем запустить запрос на добавление (или INSERT INTO...SELECT FROM) для добавления записей из таблицы в таблицу Access в таблице Excel. После завершения переноса в таблице Excel отсоединяется от базы данных Microsoft Access и книгу, результаты отображаются в Excel. Закройте Excel и вернитесь в приложение Visual Basic.

  8. Последний пример иллюстрирует, как считывать данные из книги Excel. Выберите TABLE в раскрывающемся списке и выберите команду Пример 5. Открывшееся окно отображает содержимое выбранной таблицы. Если выделить весь лист («Лист1$» или «Лист2$») для таблицы, открывшееся окно отображает содержимое используемого диапазона листа. Обратите внимание на то, что используемый диапазон может быть не начинается на строку 1, столбец 1 листа. Используемый диапазон начинается с верхней левой ячейки листа, который содержит данные.

    Если выбран определенный диапазон адресов или определенного диапазона, открывшееся окно отображает содержимое только диапазон на листе.
Использование Active Server Pages (ASP):
  1. Создайте новую папку с именем ExcelADO в домашнем каталоге веб-сервера. Обратите внимание, что путь по умолчанию для основного каталога C:\InetPut\WWWRoot.
  2. Скопируйте следующие файлы в папку, созданную на предыдущем шаге:
    • EmpData.asp
    • Orders.ASP
    • Data.mdb
    • EmpDataTemplate.xls
    • OrdersTemplate.xls

  3. Сценарии ASP в этом примере создавать копии шаблонов в книге Копировать метод FileSystemObject. Для Копировать метод успешно, клиент, который получает доступ к сценарию должен иметь доступ на запись в папку, содержащую приложение ASP.
  4. Перейдите к Orders.asp (то есть, http://YourServer/ExcelADO/Orders.ASP) и обратите внимание, что обозреватель отображает одно в книге Excel Пример 1 приложения Visual Basic.
  5. Перейдите к EmpData.asp (то есть, http://YourServer/ExcelADO/EmpData.ASP) и обратите внимание, что обозреватель отображает одно в книге Excel Пример 2 приложения Visual Basic.
(c) 2000 Corporation Корпорация Майкрософт, все права защищены. Взносы, Лори б. Тернер, корпорация Майкрософт.

Ссылки

Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
195951Методические УКАЗАНИЯ: Запросы и обновления данных Excel с помощью ADO со страниц ASP
194124 PRB: Microsoft Excel значения, возвращаемые как NULL, с помощью DAO OpenRecordset
193998 Методические УКАЗАНИЯ: Чтение и отображение двоичных данных в ASP
247412 ИНФОРМАЦИЯ: Методы для передачи данных в Microsoft Excel из Visual Basic
257819 Использование ADO с данными Excel из Visual Basic или VBA

Свойства

Код статьи: 278973 - Последний отзыв: 5 июня 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Active Server Pages 4.0
Ключевые слова: 
kbdownload kbautomation kbfile kbprogramming kbmt KB278973 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:278973

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com