我要做成这样!
按“打印”,就跳出一个Excel的任务!
把某一表格,弄到Excel里面。(把Excel当预览)
要修改,要打印,要存盘都按Excel里的按钮!
如果什么都不做,就退出Excel(不保存)。
再次感谢!

解决方案 »

  1.   

    参考吧:http://218.56.11.178:8020/web/index.aspx->下载基地-》例程-数据库/报表-》动态调用Excel数据表
      

  2.   

    需要引用单元 ComObj,Excel2000,下面过程是将DBGrid中的数据拷贝到Excel中。
    procedure CopyDbDataToExcel(Target: TDbgrid);
    var
    iCount, jCount: Integer;
    XLApp: Variant;
    Sheet: Variant;
    begin
    Screen.Cursor := crHourGlass;
    if not VarIsEmpty(XLApp) then
    begin
    XLApp.DisplayAlerts := False;
    XLApp.Quit;
    VarClear(XLApp);
    end;
    //通过ole创建Excel对象
    try
    XLApp := CreateOleObject('Excel.Application');
    except
    Screen.Cursor := crDefault;
    Exit;
    end;
    XLApp.WorkBooks.Add[XLWBatWorksheet];
    XLApp.WorkBooks[1].WorkSheets[1].Name := '测试工作薄';
    Sheet := XLApp.Workbooks[1].WorkSheets['测试工作薄'];
    if not Target.DataSource.DataSet.Active then
    begin
    Screen.Cursor := crDefault;
    Exit;
    end;
    Target.DataSource.DataSet.first; for iCount := 0 to Target.Columns.Count - 1 do
    begin
    Sheet.cells[1, iCount + 1] := Target.Columns.Items[iCount].Title.Caption;
    end;
    jCount := 1;
    while not Target.DataSource.DataSet.Eof do
    begin
    for iCount := 0 to Target.Columns.Count - 1 do
    begin
    Sheet.cells[jCount + 1, iCount + 1] := Target.Columns.Items[iCount].Field.AsString;
    end;
    Inc(jCount);
    Target.DataSource.DataSet.Next;
    end;
    XlApp.Visible := True;
    Screen.Cursor := crDefault;
    end; 
      

  3.   

    http://expert.csdn.net/Expert/topic/2184/2184825.xml?temp=6.786525E-03
      

  4.   

    BigBlue给的东西不是很对口!(鼓励分还是有的)
    所以分数多给“眼镜”
    tccb的我早看过了!(也鼓励一下)