ExcelApplication1.ActiveSheet.Rows[2].Insert;
这一句不行,会出错。

解决方案 »

  1.   

    ExcelApplication1.ActiveSheet.Rows[2].Insert;
    怎么会不行
    提示什么错误?我以前就这样用的,比如在第5行前插入一行
    var
      vExcelApp: Variant;//报表应用对象
    begin
      vExcelApp := CreateOleObject('Excel.Application' );
      vExcelApp.WorkBooks.Open('c:\a.xls');
      vExcelApp.ActiveSheet.Rows[5].Insert;
      vExcelApp.ActiveWorkBook.Close;
      vExcelApp.Quit;
      vExcelApp:=Unassigned;
    end;
      

  2.   

    是Delphi自带的TExcelApplication控件啊,不是用OLE对象,提示没有ROWS属性!
      

  3.   

    复制并插入一行
    //===================================================================
    var mySheet:_WorkSheet;
          m_ExcelApplication.Connect();
          m_ExcelApplication.Visible[0] := true;
          m_ExcelWorkBook.ConnectTo(m_ExcelApplication.Workbooks.Open(strFileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
          mySheet := m_ExcelWorkBook.ActiveSheet as _WorkSheet;
    //===================================================================   strMyRow   := '5:5';
       mySheet.Rows.Item[strMyRow,EmptyParam].Copy();
       strNextRow := '6:6' ;
       mySheet.Rows.Item[strNextRow,EmptyParam].Insert(xlDown);
      

  4.   

    注:
    const   xlDialogOpen         = 1;
    const   xlDialogSaveAs       = 5;
    const   xlDialogPageSetup    = 7;
    const   xlDialogPrint        = 8;
    const   xlCellTypeLastCell   = 11;
    const   xlDialogPrintPreview = 222;
    const   xlDown               = -4121;
    const   xlFormats            = -4122;
    const   xlNone               = -4142;
    const   xlUp                 = -4162 ;
      

  5.   

    不行啊,运行到复制一行的时候出现'OLE error 800A03EC'错误!
    有没有象运用OLE对象那种简单的方法啊? 如:ExcelApp.ActiveSheet.Rows[2].Insert;
      

  6.   

    放ExcelApplication1,ExcelWorkBook1,ExcelWorkSheet1在窗体上,写如下代码
    with ExcelApplication1 do
    begin
      Disconnect;
      Visible[0] := True;
      //空白文档
      WorkBooks.Add(fn_ydgz, 0);
      //完成ExcelWorkbook1的连接
      ExcelWorkBook1.ConnectTo(Workbooks[Workbooks.Count] as _Workbook);
    end;
    with ExcelWorkSheet1 do
    begin
      ConnectTo(ExcelWorkBook1.Sheets[1] as _Worksheet);
    end;//追加一行
    ExcelWorkSheet1.Range['a6','j6'].Insert(xlDown,0);