你只需要把数据写成row11+ #9 +row12+ #9 +row13+ #9 +row14 + #13
row21+ #9 +row22+ #9 +row23+ #9 +row24的格式复制到excel即可。

解决方案 »

  1.   

    你只需要把数据写成row11+ #9 +row12+ #9 +row13+ #9 +row14 + #13
    row21+ #9 +row22+ #9 +row23+ #9 +row24的格式复制到excel即可。
      

  2.   

    用F1Book可以实现,在ActiveX选项卡中。
      

  3.   

    EXCEL文件操作精华区有,STRINGGRID取数就要你自己去处理。
      

  4.   

    用OLE实现,将StringGrid中的各个单元的数据逐行读出,用OLE创建excel Application对象,写入到EXCEL的单元格内就OK了procedure TfrmDetail.NExportClick(Sender: TObject);
    var
      XlsApp,XlsSheet: Variant;
      I,J,k: integer;
    begin
      ShowProgressBar;
      if VarIsEmpty(XlsApp) then
        XlsApp := CreateOleObject('Excel.Application');  XLsApp.Workbooks.Add;
      XlsSheet := XLsApp.Worksheets['Sheet1'];  k := 0;
      for I := 0 to dbGrid1.Columns.Count - 1 do
      begin
        if dbGrid1.Columns[i].Visible then
        begin
          XlsSheet.Cells[1,k + 1] := Fixgrid1.Columns[I].Title.Caption;
          k := k + 1;
        end;
      end;  dbGrid1.DataSource.DataSet.first;
      for J := 0 to dbGrid1.DataSource.DataSet.RecordCount - 1 do
      begin
        k := 0;
        for I := 0 to dbGrid1.Columns.Count - 1 do
        begin
          if dbGrid1.Columns[i].Visible then
          begin
            XlsSheet.Cells[J + 2,k + 1] := dbGrid1.Columns[i].Field.AsString;
            k := k + 1;
          end;
        end;
        dbGrid1.DataSource.DataSet.Next;
      end;  if savedlgExcel.Execute then
        xlssheet.saveas(savedlgExcel.FileName);  XlsApp.Visible := true;
      Application.MessageBox(tip_ImportSuccess,'提示',mb_OK + MB_DEFBUTTON1);
    end;