Показать сообщение отдельно
  #3  
Старый 28.07.2011, 14:20
Zhigalov Zhigalov вне форума
Начинающий
 
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
 Var
  i,ind: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].Columns.Font.Bold:=True;
    Sheet.Cells[1,1].Columns.Font.Size:=12;
    Sheet.Cells[1,1].Columns.Borders.LineStyle:=1;
    Sheet.Cells[1,1]:='Дата/Время';

    Sheet.Cells[1,2].Columns.Font.Bold:=True;
    Sheet.Cells[1,2].Columns.Font.Size:=12;
    Sheet.Cells[1,2].Columns.Borders.LineStyle:=1;
    Sheet.Cells[1,2]:='Среднее значение';

    ind:=2;
    DBGrid1.DataSource.DataSet.First;
     For i:=1 to DBGrid1.DataSource.DataSet.RecordCount do
      Begin

       Sheet.Cells[ind,1].Columns.Borders.LineStyle:=1;
       Sheet.Cells[ind,1]:=DBGrid1.Fields[0].AsString;


       Sheet.Cells[ind,2].Columns.Borders.LineStyle:=1;
       Sheet.Cells[ind,2]:=DBGrid1.Fields[1].Value;

       inc(ind);
       DBGrid1.DataSource.DataSet.Next;
      end;
     Sheet.Columns.NumberFormat:='# #0,00';
    ExcelApp.Columns.AutoFit;
    ExcelApp.Visible:=True;
   end;


А как сделать чтоб формат поля задавался дапустим тока для [B2:B8].

Код:
 Sheet.Cells[ind,2].Columns.NumberFormat:='# #0,00';
       Sheet.Cells[ind,2].Columns.Borders.LineStyle:=1;
       Sheet.Cells[ind,2]:=DBGrid1.Fields[1].Value;

Так не пойдет патамучто буду делать вывод через масив, а не построчно.
Ответить с цитированием