procedure TForm1.Button6Click(Sender: TObject);
Var
i,ind,c:Integer;
ExcelApp,Sheet:Variant;
begin
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.WorkBooks.Add;
ExcelApp.WorkBooks[1].WorkSheets[1].Name:='Отчет';
sheet:=ExcelApp.WorkBooks[1].WorkSheets['Отчет'];
Sheet.Cells[1,1]:='Название прибора:';
Sheet.Cells[1,2]:='Газ ГРП';
Sheet.Cells[3,1]:='Конфигурация каналов:';
Sheet.Cells[4,1]:='Имя канала:';
Sheet.Cells[4,3]:='P дo ГPП';
Sheet.Cells[4,4]:='P пocлe ГPП';
Sheet.Cells[4,5]:='T гaзa';
Sheet.Cells[4,6]:='F гaзa 100%';
Sheet.Cells[5,1]:='Единицы измерения:';
Sheet.Cells[5,3]:='kгc/cм^2';
Sheet.Cells[5,4]:='kгc/cм^2';
Sheet.Cells[5,5]:='°C';
Sheet.Cells[5,6]:='м^3/ч*1000';
Sheet.Cells[6,1]:='Min:';
Sheet.Cells[6,3]:='0';
Sheet.Cells[6,4]:='0';
Sheet.Cells[6,5]:='-50';
Sheet.Cells[6,6]:='0';
Sheet.Cells[7,1]:='Max:';
Sheet.Cells[7,3]:='10';
Sheet.Cells[7,4]:='1,6';
Sheet.Cells[7,5]:='200';
Sheet.Cells[7,6]:='40';
Sheet.Cells[8,1]:='Тип датчика:';
Sheet.Cells[8,3]:='Ток';
Sheet.Cells[8,4]:='Ток';
Sheet.Cells[8,5]:='Термосопр';
Sheet.Cells[8,6]:='Ток';
Sheet.Cells[9,1]:='Диапазон:';
Sheet.Cells[9,3]:='0..5мА';
Sheet.Cells[9,4]:='0..5мА';
Sheet.Cells[9,5]:='50М';
Sheet.Cells[9,6]:='0..5мА';
Sheet.Cells[11,1]:='Данные по каналам';
Sheet.Cells[13,1]:='Дата/Время';
Sheet.Cells[13,3]:='P дo ГPП';
Sheet.Cells[13,4]:='P пocлe ГPП';
Sheet.Cells[13,5]:='T гaзa';
Sheet.Cells[13,6]:='F гaзa 100%';
ind:=14;
DBGrid2.DataSource.DataSet.First;
c := DBGrid2.DataSource.DataSet.RecordCount;
For i:=1 to DBGrid2.DataSource.DataSet.RecordCount do
Begin
ProgressBar2.Position := (i * 100) div c;
Sheet.Cells[ind,1]:=DataModule2.QueryGRP.FieldByName('Column1').Value;
Sheet.Cells[ind,3].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind,3]:=DataModule2.QueryGRP.FieldByName('Column2').Value;
Sheet.Cells[ind,4].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind,4]:=DataModule2.QueryGRP.FieldByName('Column3').Value;
Sheet.Cells[ind,5].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind,5]:=DataModule2.QueryGRP.FieldByName('Column4').Value;
Sheet.Cells[ind,6].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind,6]:=DataModule2.QueryGRP.FieldByName('Column5').Value;
inc(ind);
DBGrid2.DataSource.DataSet.Next;
end;
Sheet.Cells[ind+1,1].Columns.Font.Bold:=True;
Sheet.Cells[ind+1,1].Columns.Font.Size:=12;
Sheet.Cells[ind+1,1]:='Среднее';
Sheet.Cells[ind+1,3].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind+1,3].Columns.Font.Bold:=True;
Sheet.Cells[ind+1,3].Columns.Font.Size:=12;
Sheet.Cells[ind+1,3]:='=AVERAGE(C14:C'+IntToStr(ind-1)+')';
Sheet.Cells[ind+1,4].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind+1,4].Columns.Font.Bold:=True;
Sheet.Cells[ind+1,4].Columns.Font.Size:=12;
Sheet.Cells[ind+1,4]:='=AVERAGE(D14:D'+IntToStr(ind-1)+')';
Sheet.Cells[ind+1,5].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind+1,5].Columns.Font.Bold:=True;
Sheet.Cells[ind+1,5].Columns.Font.Size:=12;
Sheet.Cells[ind+1,5]:='=AVERAGE(E4:E'+IntToStr(ind-1)+')';
Sheet.Cells[ind+1,6].Columns.NumberFormat:='# #0,000';
Sheet.Cells[ind+1,6].Columns.Font.Bold:=True;
Sheet.Cells[ind+1,6].Columns.Font.Size:=12;
Sheet.Cells[ind+1,6]:='=AVERAGE(F14:F'+IntToStr(ind-1)+')';
ExcelApp.Columns.AutoFit;
ExcelApp.Visible:=True;
ProgressBar2.Position := 0;
end;