![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#10
|
|||
|
|||
![]() есть код выгружающий название столбцов из 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. а как зделать чтоб выгружало название полей с даными ввыделеной строки ну как совместить эти 2 кода???? я просто не силен в БД может кто знает!!! Последний раз редактировалось Admin, 28.09.2009 в 17:51. |