procedure DataToExcel(eQUery: TADOQuery ;eGrid : TDBGrideh; cfromname:string);
var
ExcelApp: Variant; //Excel对象
i,j : integer;
begin
ExcelApp := CreateOleObject('Excel.Application' ); //创建Excel对象
ExcelApp.Visible := True;
ExcelApp.Caption := 'ChinaHighlights- Excel';
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
// ExcelApp.ActiveSheet.Rows[1].Font.Size := ExcelApp.ActiveSheet.Rows[1].Font.Size+2;
var
ExcelApp: Variant; //Excel对象
i,j : integer;
begin
ExcelApp := CreateOleObject('Excel.Application' ); //创建Excel对象
ExcelApp.Visible := True;
ExcelApp.Caption := 'ChinaHighlights- Excel';
ExcelApp.WorkBooks.Add;
ExcelApp.WorkSheets[1].Activate;
// ExcelApp.ActiveSheet.Rows[1].Font.Size := ExcelApp.ActiveSheet.Rows[1].Font.Size+2;
for i:=1 to eGrid.VisibleColumns.Count do
ExcelApp.Cells[2,i].Value := eGrid.VisibleColumns.Items[i-1].Title.Caption;
eQUery.First;
for i:=1 to eQuery.RecordCount do //开始导出数据
begin
for j:= 0 to eGrid.VisibleColumns.Count-1 do
begin
if eQuery.FieldByname(eGrid.VisibleColumns.Items[j].FieldName).DataType = ftDateTime then
ExcelApp.Cells[i+2,j+1].Value := formatdatetime('yyyy-mm-dd',eQuery.FieldByname(eGrid.VisibleColumns.Items[j].FieldName).AsDatetime)
else
ExcelApp.Cells[i+2,j+1].Value := eQuery.FieldByname(eGrid.VisibleColumns.Items[j].FieldName).AsString;
end;
eQuery.Next;
end;
excelapp.cells[1,1].value:=cfromname;
end;