专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Delphi

一段导出代码,求解释,该怎么解决

发布时间:2011-06-24 19:38:36 文章来源:www.iduyao.cn 采编人员:星星草
一段导出代码,求解释

//填Excel标题行
  for n:=1 to ADODataSet1.FieldCount do xlsApp.Cells[i,n].Value := ADODataSet1.Fields[n-1].DisplayLabel;
  While not ADODataSet1.Eof do begin
    inc(i);//因在循环前使用了一次填标题行,所以在前面做增量
    for n:=1 to ADODataSet1.FieldCount do begin
      if ADODataSet1.Fields[n-1].FieldName = '' then xlsApp.Cells[i,n].Value := '''' + ADODataSet1.Fields[n-1].AsString
      else xlsApp.Cells[i,n].Value := ADODataSet1.Fields[n-1].AsString;
    end;

能帮我一步一步解释嘛!是有点不懂!
------解决方案--------------------

if ADODataSet1.Eof then begin
    ShowMessage('没有数据!');
    exit;
  end;
  xlsApp := CreateOleObject('Excel.Application');
  xlsapp.WorkBooks.add;
  xlsApp.Visible := false;
  xlsApp.WorkSheets[1].Activate;
  ADODataSet1.First;
  i :=1;
  //填Excel标题行
  for n:=1 to ADODataSet1.FieldCount do xlsApp.Cells[i,n].Value := ADODataSet1.Fields[n-1].DisplayLabel;
  While not ADODataSet1.Eof do begin
    inc(i);//因在循环前使用了一次填标题行,所以在前面做增量
    for n:=1 to ADODataSet1.FieldCount do begin
      if ADODataSet1.Fields[n-1].FieldName = '' then xlsApp.Cells[i,n].Value := '''' + ADODataSet1.Fields[n-1].AsString
      else xlsApp.Cells[i,n].Value := ADODataSet1.Fields[n-1].AsString;
    end;

  xlsApp.Range['A1','Q1'].HorizontalAlignment := -4108;
  xlsApp.Range['A1','Q1'].Font.Name := '宋体';
  xlsApp.Range['A1','Q1'].Font.Size := 9;
  xlsApp.Range['A1','Q'+inttostr(i)].Font.Name := '宋体';
  xlsApp.Range['A1','Q'+inttostr(i)].Font.Size := 9;

    xlsApp.Columns[1].ColumnWidth := 7;
    xlsApp.Columns[2].ColumnWidth := 8;
    xlsApp.Columns[4].ColumnWidth := 15;
    xlsApp.Columns[5].ColumnWidth := 10;
    xlsApp.Columns[3].ColumnWidth := 5;
    xlsApp.Columns[6].ColumnWidth := 20;
    xlsApp.Columns[7].ColumnWidth := 8;
    xlsApp.Columns[8].ColumnWidth := 6;
    xlsApp.Columns[9].ColumnWidth := 6;
    xlsApp.Columns[10].ColumnWidth := 8;
    xlsApp.Columns[11].ColumnWidth := 5;
    xlsApp.Columns[12].ColumnWidth := 15;
    xlsApp.Columns[13].ColumnWidth := 7;
    xlsApp.Columns[14].ColumnWidth := 10;
    xlsApp.Columns[15].ColumnWidth := 10;
    xlsApp.ActiveSheet.Columns[1].NumberFormatLocal:= '@';
    xlsApp.ActiveSheet.Columns[3].NumberFormatLocal:= '@';


    ADODataSet1.Next;
  end;
  xlsApp.Visible := true;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: