|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Экспорт в эксель из DBGridEh
делаю экспорт в эксель
Код:
var XLApp,Sheet,Colum:Variant; index,i, j:Integer; begin XLApp:= CreateOleObject('Excel.Application'); XLApp.Visible:=true; XLApp.Workbooks.Add(-4167); XLApp.Workbooks[1].WorkSheets[1].Name:='Сводная'; XLApp.ActiveSheet.PageSetup.Orientation:= 2; XLApp.ActiveSheet.PageSetup.RightMargin:= XLApp.Application.InchesToPoints(0.4); XLapp.WorkBooks[1].WorkSheets[1].Range['A2:N2'].Borders.LineStyle := 1; Colum:=XLApp.Workbooks[1].WorkSheets['Сводная'].Rows; Colum.Rows[2].Font.Bold:=true; Colum.Rows[1].Font.Bold:=true; Colum.Rows[1].Font.Color:=clBlack; Colum.Rows[1].Font.Size:=14; Sheet:=XLApp.Workbooks[1].WorkSheets['Сводная']; Sheet.Cells[2,1]:='1'; Sheet.Cells[2,2]:='0-1'; Sheet.Cells[2,3]:='1-2'; Sheet.Cells[2,4]:='2-3'; Sheet.Cells[2,5]:='3-4'; Sheet.Cells[2,6]:='4-5'; Sheet.Cells[2,7]:='6-7'; Sheet.Cells[2,8]:='7-8'; Sheet.Cells[2,9]:='0-8'; index:=3; 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; |
#2
|
|||
|
|||
попробуй сумировать в самом экселе:
Код:
XLApp.workbooks[1].worksheets[1].cells[10,1].FormulaLocal:='=СУММ(R[-'+inttostr(i-1)+']C:R[-1]C)/2'; |
#3
|
||||
|
||||
Спасибо k@Z@k!
Чё, я до этого сам не додумался??? Только я переделал cells[10,1] в cells[DBGridEh1.RowCount,1]. |