我软件里面的一个导出过程。
//------------------------------------------------------------------------------
procedure Tcolorquote.dbtoexcel;
var ExcelApp,xlsheet,range: Variant;
i,n:integer;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := true;
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
ExcelApp.WorkBooks.Add;
xlsheet:=ExcelApp.activesheet;
//***************页面设置***************
xlsheet.pagesetup.PaperSize:=9;
xlsheet.pagesetup.Orientation:=1;
xlsheet.PageSetup.LeftMargin:=30;
xlsheet.PageSetup.RightMargin:=30;
xlsheet.PageSetup.TopMargin:=35;
xlsheet.PageSetup.BottomMargin:=35;
xlsheet.PageSetup.HeaderMargin:=0;
xlsheet.PageSetup.FooterMargin:=0;
//**************************************
xlsheet.columns[1].columnwidth:=14;
xlsheet.columns[2].columnwidth:=14;
xlsheet.columns[3].columnwidth:=14;
xlsheet.columns[4].columnwidth:=14;
xlsheet.columns[5].columnwidth:=14;
xlsheet.columns[6].columnwidth:=14;
xlsheet.visible:=true;
range:=xlsheet.range[xlsheet.cells[1,1],xlsheet.cells[7,6]];
range.select;
range.merge;
range.font.size:=12;
range.HorizontalAlignment:=3;
range.VerticalAlignment:=2;
range.value:=rtftotxt;
range:=xlsheet.range[xlsheet.cells[8,1],xlsheet.cells[8,6]];
range.select;
range.merge;
xlsheet.rows[8].rowheight:=25;
//1
xlsheet.rows[8].font.size:=22;
xlsheet.rows[8].HorizontalAlignment:=3;
xlsheet.rows[8].font.name:='楷体_GB2312';
xlsheet.rows[8].font.Bold:=True;
xlsheet.cells[8,1].value:='报 价 单';
xlsheet.rows[9].font.size:=14;
xlsheet.cells[9,1].value:='客户:'+yhdata.querys.fieldbyname('客户名称').asstring;
xlsheet.cells[9,5].value:='日期:'+yhdata.querys.fieldbyname('报价日期').asstring;
xlsheet.rows[10].font.size:=14;
xlsheet.cells[10,1].value:='TO:'+yhdata.querys.fieldbyname('attn').asstring;
xlsheet.cells[10,5].value:='FM:'+yhdata.querys.fieldbyname('fm').asstring;
xlsheet.rows[11].rowheight:=20;
xlsheet.rows[11].font.size:=14;
xlsheet.rows[11].font.name:='宋体';
xlsheet.rows[11].HorizontalAlignment:=3;
xlsheet.rows[11].Borders[1].LineStyle:=1;
xlsheet.rows[11].Borders[2].LineStyle:=1;
xlsheet.rows[11].Borders[3].LineStyle:=1;
xlsheet.rows[11].Borders[4].LineStyle:=1;
xlsheet.cells[11,1].value:='编号';
xlsheet.cells[11,2].value:='产品';
xlsheet.cells[11,3].value:='颜色';
xlsheet.cells[11,4].value:='用料';
xlsheet.cells[11,5].value:='单价';
xlsheet.cells[11,6].value:='备注';
n:=yhdata.querys.recordcount;
for i:=1 to yhdata.querys.RecordCountdo
begin
xlsheet.rows[i+11].rowheight:=20;
//1
xlsheet.rows[i+11].font.size:=10;
xlsheet.rows[i+11].font.name:='宋体';
xlsheet.rows[i+11].HorizontalAlignment:=3;
xlsheet.rows[i+11].VerticalAlignment:=2;
xlsheet.rows[i+11].Borders[1].LineStyle:=1;
xlsheet.rows[i+11].Borders[2].LineStyle:=1;
xlsheet.rows[i+11].Borders[3].LineStyle:=1;
xlsheet.rows[i+11].Borders[4].LineStyle:=1;
xlsheet.cells[i+11,1].value:=yhdata.querys['编号'];
xlsheet.cells[i+11,2].value:=yhdata.querys['名称'];
xlsheet.cells[i+11,3].WrapText:=true;
xlsheet.cells[i+11,3].value:=yhdata.querys['颜色'];
xlsheet.cells[i+11,4].value:=yhdata.querys['用料'];
xlsheet.cells[i+11,5].value:=yhdata.querys.FieldByName('单价').asstring+'/'+yhdata.querys.FieldByName('单位').asstring;
xlsheet.cells[i+11,6].WrapText:=true;
if yhdata.querys['备注']<>'-' then
xlsheet.cells[i+11,6].value:=yhdata.querys['备注'];
yhdata.querys.next;
end;
range:=xlsheet.range[xlsheet.cells[n+12,1],xlsheet.cells[n+16,6]];
range.select;
range.Borders[1].LineStyle:=1;
range.Borders[2].LineStyle:=1;
range.Borders[3].LineStyle:=1;
range.Borders[4].LineStyle:=1;
range.Borders[11].LineStyle:=0;
range.Borders[12].LineStyle:=0;
xlsheet.cells[n+12,1].value:='以上为('+yhdata.querys.FieldByName('币种').asstring+')报价 结帐方式月结('+yhdata.querys.FieldByName('货款找数期').asstring+')天';
xlsheet.cells[n+14,1].value:='备注:';
xlsheet.cells[n+16,3].value:='客户签名:';
end;