在vb中生成Excel报表文件
本身有多页 但是预览时只有一页?
不知道我的那个属性没有设置,
关于这方面的应该从那看帮助?

解决方案 »

  1.   

    MSDN(98版) Microsoft Office Development/Office 97 Documentation/Office/Microsoft Office 97 Visual Basic Language Reference/Volume 2还不错,应该能够解决你所有的问题了。
      

  2.   

    MSDN/搜索/automation
    完全安装OFFIC(包括帮助文档)
      

  3.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim cn As New ADODB.Connection
        Dim cmd As New ADODB.Command
        Dim rs As New ADODB.Recordset
        Dim i As Integer, j As Integer
        
        Dim xls As New Excel.Application   '建立一个EXCEL应用程序对象
        Dim xbook As New Excel.Workbook    '建立一个EXCEL工作薄对象
        Dim xsheet As New Excel.Worksheet  '建立一个EXCEL工作表象
        Dim paths As String, filenames As String
        
        paths = IIf(Right(App.Path, 1) = "\", App.Path, App.Path + "\")
        filenames = paths & "报表模板.xls"
        
        Set xbook = xls.Workbooks.Open(filenames)
        '打开一个已经建立好的模板文件
        Set xsheet = xbook.Worksheets(1)
        '将当前工作薄的第一个工作表赋给XSHEET对象
        xls.Visible = True                   '将EXCEL设到前台,在程序调试阶段这一步很重要
        cn.CursorLocation = adUseClient
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\运动会管理系统.mdb;Persist Security Info=False"
        cn.Open
        
        Set rs = cn.Execute("select * from 学生成绩表")
        
        xsheet.Columns("A:A").NumberFormatLocal = "@"    '将第A列设置成文本型
        
        i = 3 '输出数据从第4行开始
        rs.MoveFirst
        Do Until rs.EOF
            i = i + 1
            For j = 0 To rs.Fields.Count - 1
                xsheet.Cells(i, j + 1) = rs.Fields(j).Value
            Next j
            If (i - 4) Mod 20 = 0 And i <> 4 Then '每20条记录为一页
                xsheet.Range(xsheet.Cells(i, 1), xsheet.Cells(i, rs.Fields.Count)).Select '这一行尤其重要,用于选中当前添加的最后一行
                SendKeys "^{end}"               '向应用程序EXCEL发送一个组合键CTRL+END,使光标移到文件尾
                xsheet.HPageBreaks.Add Before:=ActiveCell    '添加一个分页符
            End If
            rs.MoveNext
        Loop'     xbook.SaveAs FileName:=filenames, FileFormat:= _
    '        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    '        , CreateBackup:=False     '另存文件,以防破坏模板文件
    '    xls.Quit                     '退出EXCEL
        Set xsheet = Nothing         '释放对象变量
        Set xbook = Nothing
        Set xls = Nothing
    End Sub