Как вставить в Excel (например с 15 строки) число новых строк сколько я выделил записей в DBGrid, при этом те записи с 17 строки которые уже в шаблоне Excel сдвигались вниз?
Мой код:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
xlDown:olevariant;
begin
XLApp := CreateOleObject('Excel.Application' );
XLApp.Visible := False;
XLApp.WorkBooks.open('D:\Ïðîåêò\Ýêîíîì\7\reestr.xls' );
XLApp.WorkBooks[1].WorkSheets[1].name := 'TCP';
sheet:=XLApp.WorkBooks[1].WorkSheets['TCP'].Columns;
XLApp.Selection.Insert(Shift := xlDown);
index:=16;
DBGrid1.DataSource.DataSet.First;
with Form1.DBGrid1.DataSource.DataSet do
begin
Form1.ADOQuery1.DisableControls;
for i:=0 to Form1.DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(Form1.DBGrid1.SelectedRows.Items[i]));
Sheet.Cells[index,1]:=Form1.ADOQuery1.Fields.Fields[0].AsString;
Sheet.Cells[index,2]:=Form1.ADOQuery1.Fields.Fields[2].AsString+' '
+Form1.ADOQuery1.Fields.Fields[3].AsString+' '+
Form1.ADOQuery1.Fields.Fields[4].AsString;
Sheet.Cells[index,3]:=Form1.ADOQuery1.Fields.Fields[1].AsString;
Sheet.Cells[index,4]:=Form1.ADOQuery1.Fields.Fields[5].AsString;
Inc(index);
DBGrid1.DataSource.DataSet.Next;
end;
end;
Form1.ADOQuery1.Open;
XLApp.Visible:=True;
end;