Показать сообщение отдельно
  #1  
Старый 21.12.2008, 23:41
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
Плохо Оптимизация для Word

У меня есть код экспорта из dbgrid в excel, можете помочь переписать его под word

Код:
procedure TForm3.ToolButton3Click(Sender: TObject);
var
i,j,index: Integer;
ExcelApp,sheet,Colum: Variant;
begin
  ExcelApp := CreateOleObject('Excel.Application');
 ExcelApp.Visible := False;
 ExcelApp.WorkBooks.Add(-4167);
 ExcelApp.WorkBooks[1].WorkSheets[1].name := 'Учетная карточка';
 sheet:=ExcelApp.WorkBooks[1].WorkSheets['Учетная карточка'].Columns;
 Sheet.Cells[2,1]:='Учетная карточка '+Form1.Edit1.Text;
 Sheet.Range['A2','D2'].Font.Name:='Times New Roman';
 Sheet.Range['A2','D2'].Font.Bold:=true;
 Sheet.Range['A4','D4'].Font.Bold:=true;
 Sheet.Range['A2','D2'].Font.Size:=14;
 Sheet.Range['A2','D2'].Columns.WrapText:=false;
 Sheet.Range['A4']:='Дата';
 Sheet.Range['B4']:='Группа';
 Sheet.Range['C4']:='Тема';
 Sheet.Range['D4']:='Часы';
 Sheet.Range['A4','D4'].HorizontalAlignment:=xlHAlignCenter;

 Colum:=ExcelApp.Workbooks[1].WorkSheets['Учетная карточка'].Columns;
  Colum.Columns[1].ColumnWidth:=10;
 Colum.Columns[2].ColumnWidth:=10;
 Colum.Columns[3].ColumnWidth:=20;
 Colum.Columns[5].ColumnWidth:=20;

 index:=5; //Загоняем с первой строки
 DBGrid1.DataSource.DataSet.First;
      for i:=1 to  DBGrid1.DataSource.DataSet.RecordCount do
      begin
      for j:=1 to DBGrid1.FieldCount do
        sheet.cells[index,j]:=DBGrid1.fields[j-1].asstring;
      inc(index);
      DBGrid1.DataSource.DataSet.Next;
      end;
 ExcelApp.Visible := true;
end;
Ответить с цитированием