есть код выгружающий название столбцов из Grid
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
XL, XArr: Variant;
i:Integer;
j:Integer;
sline: string;
mem:TMemo;
col, row: Integer;
//создаем обьект Excel
begin
XArr:=VarArrayCreate([1,ADOTable1.FieldCount],varVariant);
XL:=CreateOLEObject('Excel.Application');
XL.WorkBooks.add;
xl.WorkBooks[1].WorkSheets[1].name := 'Отчёт';
XL.visible:=False;
j := 1;
begin
mem := TMemo.Create(Self);
mem.Visible := false;
mem.Parent := Form1;
mem.Clear;
sline := '';
sline :=(#9'БД студентов на '+DateToStr(date));
mem.Lines.Add(sline);
sline := '';
end;
for col := 0 to DBGrid1.FieldCount-1 do
if DBGrid1.Columns[col].Visible then
sline := sline + DBGrid1.Columns[col].Title.Caption + #9;
mem.Lines.Add(sline);
mem.Lines.Add('');
for row := 0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
mem.SelectAll;
mem.CopyToClipboard;
begin
XL.Visible := true;
xl.Workbooks[1].WorkSheets['Отчёт'].Paste;
end;
end;
и есть код выгружающий выделеную строку из DBGrid
procedure TForm1.Button2Click(Sender: TObject);
var
XL, XArr: Variant;
i:Integer;
j:Integer;
begin
XArr:=VarArrayCreate([1,ADOTable1.FieldCount],varVariant);
XL:=CreateOLEObject('Excel.Application'); // Nicaaiea OLE iauaeoa
XL.WorkBooks.add;
XL.visible:=False;
j := 1;
For i:=0 to ADOTable1.FieldCount-1 do
XArr[i+1] := ADOTable1.Fields.Value;
XL.Range['A'+IntToStr(j),
CHR(64+ADOTable1.FieldCount)+IntToStr(j)].Value := XArr;
XL.Range['A1',CHR(64+ADOTable1.FieldCount)+IntToStr(j)].select;
XL.Selection.Font.Name:='Arial cur';
XL.Selection.Font.Size:=10;
XL.selection.Columns.AutoFit;
XL.Range['A1','A1'].select;
XL.visible:=True;
end;
end.
Admin: Не забываем про теги!
а как зделать чтоб выгружало название полей с даными ввыделеной строки
ну как совместить эти 2 кода????
я просто не силен в БД
может кто знает!!!