我用VB连接到Access,用ADO Data查找我要的数据,用DataGrid显示.
问用什么方法可以打印DataGrid中的数据?

解决方案 »

  1.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=197157
    搜索一下以前的帖子 很多的~
      

  2.   

    从DataGRID控件查询到的结果导入(给一个函数)试看看是否有乱码!
    private Sub GridTOexcel(mGrid As DataGrid)
        Dim ColCount, i, k As Integer
        Dim xlApp As New Excel.Application, xlBook As Excel.Workbook
        Dim xlsheet As Excel.Worksheet, sRange As String
        
        ColCount = mGrid.Columns.Count
        
        xlApp.Visible = False    Set xlBook = xlApp.Workbooks.Add
        Set xlsheet = xlBook.Worksheets(3)
        xlsheet.Visible = xlSheetHidden
        Set xlsheet = xlBook.Worksheets(2)
        xlsheet.Visible = xlSheetHidden      '//隐藏sheet2
        Set xlsheet = xlBook.Worksheets(1)
        xlsheet.Name = "导出数据"
        VB.Screen.MousePointer = vbHourglass
        xlsheet.Range(xlsheet.Cells(1, 1), xlsheet.Cells(1, ColCount)).Merge
        xlsheet.Range(xlsheet.Cells(2, 1), xlsheet.Cells(2, ColCount)).Font.Size = 10
        
        '//设置标题    For i = 0 To ColCount - 1
            xlsheet.Columns(i + 1).ColumnWidth = mGrid.Columns(i).Width / 120
            If mGrid.Columns(i).Visible = True Then
                xlsheet.Cells(2, i + 1) = mGrid.Columns(i).Caption
            End If
        Next
                    
        mGrid.MoveFirst
        i = 0
    '//从网格到excel
        While Not mGrid.EOF
            xlsheet.Range(xlsheet.Cells(i + 3, 1), xlsheet.Cells(i + 3, ColCount)).Font.Size = 10
            For k = 0 To ColCount - 1
                If Not IsNull(mGrid.Columns(k).Value) Then
                    If mGrid.Columns(k).Visible = True Then
                        xlsheet.Cells(i + 3, k + 1) = CStr(mGrid.Columns(k).Value)
                    End If
                End If
            Next
            mGrid.MoveNext
            i = i + 1
        Wend
        
    '//关闭操作台
       xlBook.SaveAs "D:\kk.xls"
        xlBook.Close False
        xlApp.Quit
        Set xlApp = Nothing
        VB.Screen.MousePointer = vbDefault
        Msgbox "数据导出完毕!"
    End Sub
      

  3.   

    参考
    http://www.microsoft.com/china/community/Column/32.mspx
      

  4.   

    用水晶報表9.0,VB的datareport都可以!
      

  5.   

    有几种方式:1 用DataReport作报表,打印记录2 用上面我的代码,导出到EXCEL打印3 自己写打印代码,操作Print.一行一行地打
      

  6.   

    自己写打印代码,操作Print.一行一行地打