Показать сообщение отдельно
  #10  
Старый 28.09.2009, 17:42
Gribok Gribok вне форума
Новичок
 
Регистрация: 25.09.2009
Сообщения: 53
Репутация: 4
По умолчанию

есть код выгружающий название столбцов из 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 кода????
я просто не силен в БД
может кто знает!!!
Ответить с цитированием