Сайт Koder.kz сайт для Delphi программистов.

koder.kz

Web or desctop App Developer

Написать

Добавил admin | Категория Наши материалы | 10 Марта 2014


Доброго времени суток уважаемый читатель, сегодня мы с тобой поговорим о таком несущим вопросе как экспорт данных из приложения написанного на Delphi в Microsoft Excel. Дело это нужное, и не каждый знает, как оптимально получить желаемый результат. Использовать мы будем Delphi 2010, вы можете использовать любую другую версию, это не принципиально. Отмечу так же что мы будем брать данные из базы данных Microsoft Access. И так давайте приступим, для начала создадим нашу базу данных. У меня получилась вот такая:

Создадим немного данных (тестовых)

Теперь переходим непосредственно к работе в Delphi, создаем новый проект. Выходную директорию для проекта установим равной «bin»

Сохраним все, и в папку Bin положим нашу базу данных. После добавления необходимых компонентов у меня получилась вот такая форма

Настроим наши компоненты. В настройке компонентов только отмечу что

Необходимо добавить все поля, делается это так. На компоненте ADOdataset1 щелкаем правой кнопкой мыши и вызываем меню Fields Editor… Появится окно похожее на то что ниже.

В нем так же щелкаем правой кнопкой мыши и выбираем Add all Fields. В окно добавятся все поля датасета. Открываем ADODataset1 и видим, что у DBGrid1 автоматически добавились поля в соответствии с нашими полями которые мы добавили в ADODataset1. На этом плюшки не заканчиваются, если мы не хотим видеть какое-то поле в DBGrid1 то в ADODataset1 выделяем это поле и в Object inspector напротив свойства visible ставим false.

Теперь мы видим что поле ID из нашего DBGrid1 исчезло, это еще не все, последняя плюшка. У нашего DBGrid1 название полей FIELD1…FIELD5 это как то не по христиански поэтому давайте из тоже изменим, для этого выберем в ADODataset1 поле FIELD1 и в его свойствах найдем DisplayLabel и изменим его на Поле№1, по аналогии выполним это действие для остальных полей. У нас получилась форма, как на рисунке ниже.

На этом наши подготовительные работы подошли к концу.