Здравствуйте, в этой статье я расскажу Вам, как использовать в своем приложении (программе) на Delphi БД в виде MS Excel. Да да именно MS Excel. Тут ничего сложного нету. Для начала давайте заполним наш лист в MS Excel. Первая строка в каждом столбце всегда будет брать наше приложение как название столбцов, то есть оно не берет название столбцов такое — A, B, C и так далее. Так что в первсой строке столбца А и столбца B я написал ФИО и Оценка соответственно для каждого столбца. Это и будут наши заголовки, затем ниже я заполнил данные, которые будут в моей БД, ну это фамилии и оценки сами напиши. Так БД у нас готова. Теперь создадим к ней подключение. создается подключение похоже как и в MS Access, так что тут ничего сложного нету. На форме у нас старые компоненты это
  • TDBGrid
  • TADOQuery
  • TADOConnection
  • TDataSource

Как связывать эти компоненты я расскажу быстро, так как это уже было сказано мною.

  • TADOQuery c TADOConnection в свойстве — Connection
  • TDataSource с TADOQuery в свойстве DataSet
  • TDBGrid c TDataSource в свойстве DataSource

В TADOConnection установим свойство LongPromt в False. Вроде бы небольшую настройку сделали. Теперь приходим к непосредственному подключени. В свойстве TADOConnection - ConnectionString нажимаем на кнопку ««, далее у нас появляется окно вида

Нажимаем на кнопку «Build…» и появляется следующее окно

В данном окне выбираем следующего провайдера: Microsoft OLE DB Provider for ODBC Drivers и нажимаем кнопку «Далее>>» и видем следующее окно

В этом окне сразу ставим указатель на «Использовать строку подключения» и нажимаем на кнопку «Сборка«, после чего появляется окно

В этом окне переходим на вкладку Источник данных компьютера, в появившемся списке выбираем — Файлы Excel, а точнее жмем левой кнопкой мыши по этой сроке двойным щелчком и в появившемся окне указываем путь к нашей Excel-книги, которую мы создавали. После этого нажимаем на пноку «Ok«. Все подключение у нас готово. Хочу добавить еще, если у Вас файл Excel, где ваша таблица находится лежит в одном каталоге с программой, то в свойстве компонента TADOConnection - ConnectionString будет прописан путь к Вашему Excel-файлу, стерите путь, а оставьте просто имя Вашего Excel файла с расширением, а в свойстве DefaultDataBase этого же компонента, напишите имя вашего Excel-файла с расширением. Тогда при запуске вашего приложения, не будет возникать ошибок с неправильно заданым путем к вашей БД. Далее в TDBGrid нажмем по нему двойным щелчком и в появившемся окне создаим 2 строки, это наши столбцы будут. А создаются они путем нжатия в данном окне на кнопку «Add New (Ins)«. Далее выделив кажду строку в свойстве FieldName для первой строки напишем — ФИО, так как в Excel-файле я именно так написал в первую строку название столбца (для ячейки A1 я так написал), а выделив вторую строку, что создали в TDBGrid, в свойстве FieldName напишем — Оценка, так как именно я такое название столбца написал (в ячейке А2 я так написал). Все теперь нам можно активировать наши данные. Для этого на событие главной формы — OnCreate напишем следующее

procedure TForm1.FormCreate(Sender: TObject);
begin
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM [Лист1$]');
ADOQuery1.Active:=True;
except
on e:Exception do
end;
end;

Как видите все тот же запрос, только вместо имя таблица, как у нас было в MS Access мы указываем имя листа нашего в Excel, заключив его в квадратные скобки и поставив в конце знак $. Как видите ничего сложного нету. В следующей статье про БД MS Excel я расскажу как вставлять данные, редактировать и так далее.

Хоче заметить, что если Вы является настоящим фанатом футбола, а тем более английского чемпионата, который на данный момент является одним из сильнейшим, то Вам наверняка будет очень интересно почитать про футбольный клуб Ливерпуль, который очень богат своей историей, а самое главное узнать что-то новое для себя о частичке английского футбола.

Исходники статьи можете скачать тут

Автор статьи - Andrey53

Метки: , , , ,




К записи “Работа с ADO в Delphi на примере БД MS Excel. Часть 1” оставлено комментариев: 8.

  1. Олег:

    Спасибо за статьи, понравилось

  2. Andrey53:

    Незачто, всегда рад помочь

  3. Dis:

    Спасибо, статьи очень полезные и понятные.
    Но у меня на последнем шаге — список пуст :(
    Если создать свою, то там дает на выбор Excel до 2000.
    При том на рабочем компе, где так же не устанвовлен офис — данный спискок заполнен. Подскажите с чем это может быть связано?

    • Andrey:

      Вы не можете загрузить Вашу книгу в источник данных?

      • Dis:

        На рабочем компе могу. Но принес домой, там так же W7 без офиса. пытаюсь запустить — выдает ошибку: «источик данных не найден и не указан драйвер, используемый по умолчанию»
        Иду в свойства элемента ADOConnection1 что бы опять задать ConnectionString: драйвер, выбрать файл.В окне выбор источника данных — у меня там пусто (последняя картинка в статье).

        Пытаюсь создать сам. Жму Создать. выбираю Driver to MS Excel. В следующем окне где задается имя, можно выбрать версию. доступны версии 3,4,5,6,95,97,2000. Разумеется ни с одинм мой файл xlsx не открывается.

        В какую сторону копать?

        • Dis:

          скомпилировал не меняя строку подключения, перекинул на рабочий комп уже бинарник — запустил. все ок.
          То есть это на домашней машину не установлено все таки что то.. но что? если офиса нет ни на одной машине.

          • Dis:

            Возможно нашел решение. скажите, это нужный мне ODBC драйвер?
            microsoft.com

          • Andrey:

            Да, попробуйте установить драйверы, скорее всего у Вас не установлены на компьюетре

Оставить комментарий

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*