Код не компилировал могут быть ошибки и даже много
Надеюсь в коде ты разберешься(постораюсь разложить все подробно):
У нас есть таблица Которая называется например инженеры, содержащая два поля "NAME" ну и предположим "SERNAME"(это все что позволила придумать мне моя фантазия)
Мы собираемся создать таблицу в Экселе:
В заголовке написать ИНЖЕНЕРЫ
и снизу таблицу с шапкой.
ПОЕХАЛИ:
procedure TfrmOrganization.Button1Click(Sender: TObject);
var
Excel: variant;
i:Integer;
begin
Excel:= CreateOleObject('Excel.Application');
Excel.Workbooks.Add; // создаем лист excel
Excel.ActiveSheet.PageSetup.Orientation:= 2;//альбомный лист
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:B1'].Select; //выделяем две ячейки
Excel.Selection.Font.Bold:=true; //в выделенных ячейках устанавливаем жирный шрифт
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:B1'].Merge; //Объеденяем выделенное
Excel.Sheets[1].Cells[h,1].Value:='ИНЖЕНЕРЫ';// И наконец вводим слово ИНЖЕНЕРЫ зоголовок готов
Excel.ActiveWorkBook.WorkSheets[1].Range['A2:B2'].Select;//выделяем диапозоз
Excel.Selection.Font.Bold:=true;// устанавливаем шрифт
Excel.Sheets[1].Cells[2,1].Value:=DbGrid1.Columns[0].Title.Caption;//Делаем шапку причем значение берем из названия колонки DBGRid
Excel.Sheets[1].Cells[2,2].Value:=DbGrid1.Columns[1].Title.Caption;// Вторая колонка
Table1.First;
for i:=1 to Table1.RecordCount do
begin
h:=h+1;
Excel.Sheets[1].Cells[i+2,1].Value:=Table1.FieldByName('NAME').AsString;//вводим значения таблицы
Excel.Sheets[1].Cells[i+2,2].Value:=Table1.FieldByName('SERNAME').AsString;
Table1.Next;
end;
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:B'+IntToStr(Table1.RecordCount+2)].Select; //выдяляем всю таблицу
Excel.Selection.Borders.LineStyle:=1;// устанавливает границы
Excel.Selection.HorizontalAlignment:=-4108;// выравниваем текст по центру
Excel.Selection.EntireColumn.AutoFit;// выравниваем колонки по значениям
Excel.Visible:=True; // показываем наши труды
end;
|