03.12.2006, 12:18
общий
это ответ
Здравствуйте, Almusha!
В приложении пример вывода в Excel данных из БД.
Дополнительно можно еще форматировать
параметры ячеек:
//Устанавливаем ширину колонок
Colum:=XLApp.Workbooks[1].WorkSheets[‘Отчёт‘].Columns;
Colum.Columns[1].ColumnWidth:=5;
Colum.Columns[2].ColumnWidth:=10;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=30;
Colum.Columns[5].ColumnWidth:=20;
//Устанавливаем параметры шрифта для строк
Colum:=XLApp.Workbooks[1].WorkSheets[‘Отчёт‘].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=14;
Приложение:
procedure TForm1.Button1Click(Sender: TObject);var XLApp,Sheet,Colum:Variant; index,i:Integer;begin XLApp:= CreateOleObject(‘Excel.Application‘); //создаём объект Excel XLApp.Visible:=true; //запускаем его XLApp.Workbooks.Add(-4167); //создаем книгу XLApp.Workbooks[1].WorkSheets[1].Name:=‘Мой отчет‘; //Даем название книге// заполняем ячейки текстом Sheet:=XLApp.Workbooks[1].WorkSheets[‘Отчёт‘]; Sheet.Cells[2,1]:=‘Nomer‘; Sheet.Cells[2,2]:=‘Fio‘; Sheet.Cells[2,3]:=‘Adres‘; Sheet.Cells[2,4]:=‘Note1‘; Sheet.Cells[2,5]:=‘Note1‘;// заполняем ячейки данными из базы данных index:=3; Table1.First; for i:=0 to Table1.RecordCount-1 do begin Sheet.Cells[index,1]:=Table1.Fields.Fields[1].AsString; Sheet.Cells[index,2]:=Table1.Fields.Fields[2].AsString; Sheet.Cells[index,3]:=Table1.Fields.Fields[3].AsString; Sheet.Cells[index,4]:=Table1.Fields.Fields[5].AsString; Sheet.Cells[index,5]:=FormatDateTime(‘dddddd‘, Table1.Fields.Fields[6].AsDateTime); Inc(index); Table1.Next; end;end;