在窗体上放置控件:ExcelApplication,ExcelWorkbook,ExcelWorksheet(Server面板)各一个,OpenDialog,F1Book(在Active X 面板里),一个用来打开Excel表格的按钮,问题是,程序在大部分时间可以运行,能够正常显示Excel数据,再程序运行一段时间以后,或者多打开几次excel表格,就不能显示数据了,也没有提示出错,在这种情况下有时可以显示数据,有时又不行,(不知道是不是在复制数据的时候出错!这是我得猜测,不过我不知道该如何解决)单步调试,没有问题,就是显示不了数据,请各为高手帮帮忙看看,分不够再加!!!
代码如下: OpenDialog1.Filter := 'Excel Files (*.xls)|*.xls';
    OpenDialog1.FilterIndex := 0;
    if OpenDialog1.Execute then
    begin
      Try
        ExcelApplication1.Connect;//EXCEL应用程序
        F1Book1.ClearRange(1, 1, F1Book1.MaxRow, F1Book1.MaxCol, 1);
      Except
        MessageDlg('未安装excel!',mtError, [mbOk], 0);
        Abort;
      End;
      ExcelApplication1.Visible[0]:=false;
      filepath := OpenDialog1.FileName;
      try
       ExcelApplication1.Workbooks.Open(opendialog1.FileName,
        EmptyParam, EmptyParam,
         EmptyParam, EmptyParam,
         EmptyParam, EmptyParam,
         EmptyParam, EmptyParam,
         EmptyParam, EmptyParam,
         EmptyParam, EmptyParam, 0);//打开指定的EXCEL 文件
    except
    begin
        ExcelApplication1.Disconnect;//出现异常情况时关闭
        ExcelApplication1.Quit;
        showmessage('请选择EXCEL电子表格!');
        exit;
    end;
    end;
    cell1 := ExcelApplication1.Cells.EntireColumn;
    cell2 := ExcelApplication1.Cells.EntireRow;
      //COPY
      ExcelApplication1.Range[cell1, cell2].copy(EmptyParam);
      //PASTE
      F1Book1.SetActiveCell(1, 1);
      F1Book1.EditPasteValues;
      F1Book1.BackColor := clSkyBlue;
      //------------------清空剪贴板并退出 Excel-------------------//
      cell1 := 'a1'; //
      cell2 := 'a1'; //
      ExcelApplication1.Range[cell1, cell2].copy(EmptyParam); //
     ExcelApplication1.Disconnect;
     ExcelApplication1.Quit;