窗体上有一个datagrid空件;一个cmd_Print按钮;怎么样把datagrid中的数据打印出来啊,在线等!急!!!
给个例子吧;有原代码最好;用ADO的;好吗;大家帮忙啊;初学者!

解决方案 »

  1.   

    建议操作excel进行打印我使用的是msf控件,不过差不过,给你一段代码看看你自己先建立一个excel模板,我的例子使用的是xx.xlsPrivate Sub CMdPrint_Click()
    On Error Resume Next
    '把查询到的数据放到excel中打印
    Dim PageNum As Integer
    Dim Size As Integer
    Dim File As String
    Dim i As Integer
    Dim R As Integer
    Dim P As Integer
    PageNum = 1 '打印的页数
    Size = 23 '一页可以打印的行数
    '得到打印的页数
    While Not (PageNum * Size) - (Msf.Rows - 3) > 0
        PageNum = PageNum + 1
    Wend'循环打印每一页
    For P = 1 To PageNum
        Dim Exl As New Excel.Application
        Dim Book As Excel.Workbook
        Dim Sheet As Excel.Worksheet
        
        FileCopy App.path & "\report\xx.xls", App.path & "\xx.xls"
        File = App.path & "\xx.xls"
        Set Book = Exl.Workbooks.Open(File)
        Set Sheet = Book.Worksheets(1)
        Book.Application.DisplayAlerts = False    '把数据写入sheet中
        With Sheet
            For R = 1 To Size
                For i = 1 To 10
                    .Cells(R + 5, i) = Msf.TextMatrix((P - 1) * Size + 2 + R, i - 1)
                Next
            Next
            .PageSetup.Orientation = xlLandscape        .PrintOut
            
        End With
        Book.Save
        Book.Close
        Set Book = Nothing
        Exl.Quit
        Set Exl = Nothing
    NextEnd Sub