<<
>>

Пример создания табличного отчета в Excel

Рассмотренные возможности MS Excel можно использовать для построения таб­личных отчетов. Для этого следует просто выполнить необходимую выборку дан­ных и передать результаты этой выборки в MS Excel.

Рассмотрим небольшой пример. Передадим в Excel сведения, содержащиеся в таб­лице Сотрудники базы данных sales (в формате Access). Чтобы не усложнять при­мер, будем полагать, что в отчет требуется вывести всю информацию, содержащу­юся в таблице.

1. Поместите на форму любой компонент доступа к данным (Table, Query, ADOTable или ADOQuery) и подключите его к требуемой таблице.

Для баз данных Access лучше использовать компоненты, работающие с базой данных с применением технологии ADO. А поскольку мы хотим выводить в Excel отчеты, то желательно задействовать компоненты, взаимодействующие с базой данных посредством SQL-запросов. Поэтому в нашем случае оптималь­ным выбором будет компонент ADOQuery.

2. Так как мы собираемся импортировать в Excel всю информацию из этой табли­цы, то напишите такой запрос на выборку:

select * from Сотрудники

3.

Поместите на форму кнопку (Button) и задайте для нее обработчик события OnClick, представленный в листинге 17.2.

Листинг 17.2. Обработчик события OnClick кнопки

procedure TForml.ButtonlClick(Sender: TObject): const

// Массив, который будет использоваться для задания

11 имен ячеек при занесении в них данных CellName : array[0..11] of char = ('A','В',

'C’.'D'.'E'.'F'.'G'.'H'.T.'J'.'K'.'L'):

var

index : OleVariant;

Cl. V : OleVariant: i. j : Integer: begin

// Подключаемся к серверу автоматизации MS Excel ExcelAppli cati onl.Connect;

// Создаем новую рабочую книгу и делаем ее видимой Excel Applicationl.Workbooks.Add(EmptyParam.0):

ExcelApplicationl.Vi sible[0]:=true:

ExcelWorkbookl.ConnectTo(

ExcelApplicationl.ActiveWorkbook); index:=l:

ExcelWorksheetl.ConnectTo(

Excel Workbookl.Worksheets.Item[index] as _Worksheet):

ExcelWorksheetl.Activate(0):

// Открываем набор данных ADOQueryl.Open:

// Переносим данные в рабочий лист Excel try

for i:=l to ADOQueryl.RecordCount do begin ADOQueryl.RecNo:=i:

for j:=0 to pred(ADOQueryl.FieldCount) do begin Cl:=CellName[j]+IntToStr(i):

V:=ADOQueryl.Fi elds[j].Value:

Excel Worksheet1.Range[Cl.Cl],Value:=V: end: end: final ly

// Закрываем набор данных ADOQueryl.Close: end; end:

<< | >>
Источник: Избачков Ю. С., Петров В. Н.. Информационные системы. 2006

Еще по теме Пример создания табличного отчета в Excel:

  1. Табличные вопросы
  2. Глава 5. ТАБЛИЧНОЕ И ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ1
  3. 5.1. Табличное представление данных
  4. Примеры жестокости по отношению к другим (эти примеры более всего относятся к семейной жизни):
  5. Отчет
  6. Статья 1022. Отчет комиссионера
  7. ОТЧЕТ СУБЪЕКТИВНЫЙ
  8. 38. Отчет внешнего управляющего
  9. ОТЧЕТ РЕЧЕВОЙ
  10. 3.4. Научный отчет
  11. ИНФОРМАЦИОННЫЙ ОТЧЕТ
  12. 2. АНАЛИТИЧЕСКИЙ ОТЧЕТ
  13. Отчет читателя