我的dbgrid里有
字段A
1
2
3
。。
2000求导出到EXCEL后每100行生成一个箱条码,就是对EXCEL生成的处理
比如
1
2
3
。。
100
AAAAAAAAA
101

200
BBBBBBBBB
求高手帮忙啊

解决方案 »

  1.   


    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;
      

  2.   


    大哥,谢谢!在麻烦你一下,
    A               B
    1             AAAAAA
    2             AAAAAA
    3             AAAAAA
    。。           ..
    100           AAAAAA101           BBBBBB
    。。          BBBBBB
    200           BBBBBB我想导出EXCEL后,将该DBGRID中A列INSERT到另外一张表中,且A列的每100行都对应B插入