![]() |
|
|
#1
|
|||
|
|||
|
Как экспортировать в Excel выделенную запись?
|
|
#2
|
|||
|
|||
|
Мысль пришла, через редактировать!
При нажатии печать идет сохранение в др. таблицу, котороя перед этим очищается и уже из нее печатается, Как это реализовать? У edita тока один раз можно указать DataField![]() Последний раз редактировалось Renat, 05.07.2009 в 10:50. |
|
#3
|
|||
|
|||
|
Цитата:
Код:
uses ComObj, ComCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,index: Integer;
ExcelApp,sheet: Variant;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := False;
ExcelApp.WorkBooks.Add(-4167);
ExcelApp.WorkBooks[1].WorkSheets[1].name := 'Заказы';
sheet:=ExcelApp.WorkBooks[1].WorkSheets['Заказы'];
index:=1; //Загоняем с первой строки
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; |
|
#4
|
|||
|
|||
|
Цитата:
и если дальше подолжить мысль, то не из грида а из двух ADOtabel связанных между собой, как это сделать??? |
|
#5
|
||||
|
||||
|
Вот это одну выделенную связанную строку
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
glavnay, telefon, i :Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=14;
Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
Sheet.Cells[1,2]:='Телефонный справочник';
Sheet.Cells[2,1]:='Фамилия';
Sheet.Cells[2,2]:='Имя';
Sheet.Cells[2,3]:='Стационарный';
Sheet.Cells[2,4]:='Мобильный';
glavnay:=3;
telefon:=3;
for i:=0 to form1.ADOTable2.RecordCount-1 do
begin
Sheet.Cells[telefon,3]:=form1.ADOTable2.Fields.Fields[2].AsString;
Sheet.Cells[telefon,4]:=form1.ADOTable2.Fields.Fields[3].AsString;
inc(telefon);
form1.ADOTable2.Next;
end;
Sheet.Cells[glavnay,1]:=form1.ADOTable1.Fields.Fields[1].AsString;
Sheet.Cells[glavnay,2]:=form1.ADOTable1.Fields.Fields[2].AsString;
end; |