首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

导出excel设立行标题

2013-08-09 
导出excel设置行标题我的dbgrid里有字段A123。。2000求导出到EXCEL后每100行生成一个箱条码,就是对EXCEL生成

导出excel设置行标题
我的dbgrid里有
字段A
1
2
3
。。
2000

求导出到EXCEL后每100行生成一个箱条码,就是对EXCEL生成的处理
比如
1
2
3
。。
100
AAAAAAAAA
101
。。。。
200
BBBBBBBBB
求高手帮忙啊
[解决办法]


procedure TfmMain.Button1Click(Sender: TObject);
var
  FExcel: Variant;
  FWorkbook: Variant;
  FWorksheet: Variant;
  i, j, fnum: Integer;
begin
  Screen.Cursor := crHourGlass;
  try
    FExcel := CreateOleObject('excel.application');
  except
    Screen.cursor := crDefault;
    MessageDlg('Could not start Microsoft Excel!', mtError, [mbCancel], 0);
    Exit;
  end;

  try
    FWorkBook := FExcel.WorkBooks.Add;
    //FWorkSheet := FWorkBook.WorkSheets.Add;
    FWorkSheet := FWorkBook.WorkSheets[1];
    with DBGrid1.DataSource.DataSet do
    begin
      First;
      i := 0;//字段A所在的列,这里假设是第一列
      j := 0;
      fnum := 0;
      while not Eof do
      begin
        inc(j);
        Inc(fnum);
        {for i := 0 to DBGrid1.Columns.Count - 1 do
        begin
          if DBGrid1.Columns[i].Visible then
            FWorkSheet.Cells[1, 1] := DBGrid1.Columns[i].Field.DisplayText;
        end;}
        FWorkSheet.Cells[j, i + 1] := DBGrid1.Columns[i].Field.DisplayText;


        if fnum = 100 then//每100行进这个判断
        begin
          Inc(j);//下一行用来显示条码
          FWorkSheet.Cells[j, i + 1] := 'AAAAAAAAA';
          fnum := 0;
        end;
        Next;
      end;
    end;
  finally
    FExcel.Visible := True;
    Screen.Cursor := crDefault;
  end;
end;

热点排行