|
#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 |