ВУЗ:
Составители:
15
for i:=0 to Table1.FieldCount-1 do
Sheet.Cells[2,i+2].Value :=
Table1.Fields.Fields[i].FieldName;
Arr := VarArrayCreate([0,Table1.FieldCount],varVariant);
with Table1 do while not Eof do begin
j:=j+1;
Arr[0] := IntToStr(j);
for i:=0 to FieldCount-1 do
Arr[i+1] := Fields.Fields[i].AsString;
Sheet.Range['A'+IntToStr(j+2)+':'+
Chr(Ord('A')+FieldCount)+IntToStr(j+2)].Value:=Arr;
Next
end;
Table1.Close
end;
Заметим , что при выводе шапки таблицы каждая ячейка Excel заполняет -
ся индивидуально, а для вывода данных заполняется вариантный массив , кото-
рый затем используется для передачи Excel строки таблицы целиком:
Рис. 3. Отчет в книге Microsoft Excel
Для полноты изложения материала приведем текст программы на C++
для разработчиков клиента в среде программирования Borland C++Builder:
void __fastcall TForm1::Button1Click(TObject *Sender)
{ Table1->DatabaseName="DBDEMOS";
Table1->TableName="country.db"; Table1->Open();
Variant Exl,Book,Sheet,Arr;
15 for i:=0 to Table1.FieldCount-1 do Sheet.Cells[2,i+2].Value := Table1.Fields.Fields[i].FieldName; Arr := VarArrayCreate([0,Table1.FieldCount],varVariant); with Table1 do while not Eof do begin j:=j+1; Arr[0] := IntToStr(j); for i:=0 to FieldCount-1 do Arr[i+1] := Fields.Fields[i].AsString; Sheet.Range['A'+IntToStr(j+2)+':'+ Chr(Ord('A')+FieldCount)+IntToStr(j+2)].Value:=Arr; Next end; Table1.Close end; Заметим, что при выводе шапки таблицы каждая ячейка Excel заполняет- ся индивидуально, а для вывода данных заполняется вариантный массив, кото- рый затем используется для передачи Excel строки таблицы целиком: Рис. 3. Отчет в книге Microsoft Excel Для полноты изложения материала приведем текст программы на C++ для разработчиков клиента в среде программирования Borland C++Builder: void __fastcall TForm1::Button1Click(TObject *Sender) { Table1->DatabaseName="DBDEMOS"; Table1->TableName="country.db"; Table1->Open(); Variant Exl,Book,Sheet,Arr;
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »