我用excel做了一个模板。
如第一行是表头。
中间是数据,行数不定。
最后是表尾。
由于中中间的数据不定。我可能在做模板时只有一行。但在实际中,有许多行。我如何添加行,这样表尾就向下移动,而不被覆盖。最后我填充表尾的数据。

解决方案 »

  1.   

    给你个程序,是对行插入的办法,你看看把
    Private Sub cmdExcel_Click()
     On Error GoTo ErrHandler
       Dim strsql As String
       Dim strsql_db As String
       'Dim jhje As Double
       'Dim wczcje As Double
       'Dim yfkje As Double
       'Dim fkje As Double
       
       If Text1.Text = "" Then
          MsgBox "查询的年份不能为空!", 48, "信息"
          Exit Sub
       End If
       
       If Text2.Text = "" Then
          MsgBox "请查询数据!", 48, "信息"
          Exit Sub
       End If
       
       Set xlapp1 = CreateObject("excel.application")              'create the excel object
       xlapp1.Workbooks.Open (App.Path & "\按单位查询模板.xls")          'FileName changed
       xlapp1.Workbooks("按单位查询模板.xls").Activate
         
       xlapp1.Worksheets(1).Cells(1, 1) = Text1.Text & "年按单位统计的完成资产统计表"
       
       
       strsql = Text2.Text
       Set rs = ExecuteSQL(strsql, msgtext)
       For i = 5 To rs.RecordCount + 4
           xlapp1.ActiveSheet.Rows(i).Insert
           xlapp1.Worksheets(1).Cells(i, 1) = i - 4
           xlapp1.Worksheets(1).Cells(i, 2) = rs.Fields("单位名称")
           xlapp1.Worksheets(1).Cells(i, 3) = rs.Fields("计划总额")
           xlapp1.Worksheets(1).Cells(i, 4) = rs.Fields("完成资产金额")
           xlapp1.Worksheets(1).Cells(i, 5) = rs.Fields("预付款金额")
           xlapp1.Worksheets(1).Cells(i, 6) = rs.Fields("付款金额")
           'jhje = jhje + rs.Fields("计划总额")
           'wczcje = jhje + rs.Fields("完成资产金额")
           'yfkje = jhje + rs.Fields("预付款金额")
           'fkje = jhje + rs.Fields("付款金额")
           rs.MoveNext
       Next i
       xlapp1.ActiveSheet.Rows(4).Delete
          
       With CommonDialog1
             .DialogTitle = "生成Excel"
             .FileName = "*.xls"
             .Filter = "(Excel)*.xls|*.xls"
             .CancelError = True
           .ShowSave
       End With
          'xlapp1.Save
       xlapp1.ActiveWorkbook.SaveAs (CommonDialog1.FileName)
       xlapp1.Quit
       MsgBox "数据导Excel完成!", 48, "信息"
       
       rs.Close
       Set rs = Nothing
       Exit Sub
    ErrHandler:
       '用户按了“取消”按钮
       MsgBox "用户取消从Excel导出数据操作!", 48, "提示"
       Exit Sub
    End Sub