![]() |
|
|
#1
|
|||
|
|||
|
Добрый день всем.
Не могу разобраться , как вывести в эксель не все столбцы. Мне нужно выводить в эксель все столцы , кроме последнего. Вот код Код:
procedure TForm11.Button7Click(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:=2;
DBGridEh1.DataSource.DataSet.First;
for i:=1 to DBGridEh1.DataSource.DataSet.RecordCount do
begin
for j:=1 to DBGridEh1.FieldCount do
sheet.cells[index,j]:=DBGridEh1.fields[j-1].asstring;
inc(index);
DBGridEh1.DataSource.DataSet.Next;
end;
ExcelApp.Visible := true;
end;Разобрался как первый не экспотрировать. Спасибо |
|
#2
|
|||
|
|||
|
Разобрался сам.
Вот может кому пригодится Код:
DBGridEh1.DataSource.DataSet.First;
for i:=0 to DBGridEh1.DataSource.DataSet.RecordCount-1 do
begin
sheet.cells[index,1]:=DBGridEh1.DataSource.DataSet.Fields.Fields[0].AsString;
sheet.cells[index,2]:=DBGridEh1.DataSource.DataSet.Fields.Fields[1].AsString;
sheet.cells[index,3]:=DBGridEh1.DataSource.DataSet.Fields.Fields[2].AsString;
sheet.cells[index,4]:=DBGridEh1.DataSource.DataSet.Fields.Fields[3].AsString;
sheet.cells[index,5]:=DBGridEh1.DataSource.DataSet.Fields.Fields[4].AsString; |
|
#3
|
|||
|
|||
|
Маньяк...
... а в цикле указать DBGridEh1.FieldCount-1 не судьба была? |
|
#4
|
|||
|
|||
|
Спасибо
Можно было. Но мне ещё нужно забрать кроме последней колонки и 8-ю колонку. Так что мой пример , меня устроил. |
|
#5
|
|||
|
|||
|
Все-равно, маньяк
![]() Можно сделать массив индексов и ходит по нему... |
|
#6
|
|||
|
|||
|
Подскажите ,как уже в Экселе , нарисовать границы.
Именно в заполненных строках? |
|
#7
|
|||
|
|||
|
Вот так это делает сам Excel:
Код:
Range("D7:J18").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With |