VB ListView 数据导出到 Excel 中 并打印或打印预览

 

ListView 数据导出到EXCEL 中;示例如下:

参数:ListView 对象、是否打印、题头

Public Sub GetExcel(ByVal lvwComm As ListView, ByVal isprint As Boolean, ByVal strTitle As String)

    Dim i     As Integer, j       As Integer, c As Integer
    Dim myexcel     As New Excel.Application
    Dim mybook     As New Excel.Workbook
    Dim mysheet     As New Excel.Worksheet
    Set mybook = myexcel.Workbooks.Add
    Set mysheet = mybook.Worksheets.Add
    Dim item As ListItem
    Dim subItem As ListSubItem
    Dim cuCell As String
    On Error Resume Next
    err.number = 0
    '添加标题
    myexcel.Range("A1:" & "k1").Select
    myexcel.Selection.HorizontalAlignment = xlCenter
    myexcel.Selection.Font.Name = "隶书"
    myexcel.Selection.Font.Size = 16
    myexcel.Selection.Merge
    myexcel.ActiveCell.FormulaR1C1 = strTitle
   
    myexcel.Range("A2:" & "k2").Select
    myexcel.Selection.HorizontalAlignment = xlLeft
    myexcel.Selection.ColumnWidth = 10
   
    '添加表头
    For j = 1 To lvwComm.ColumnHeaders.Count
   
        '将listview列标头写入单元格A2-k2
        If j >= 27 Then
            myexcel.Range("A" & Chr(64 + j - 26) & "2").Select
        Else
            myexcel.Range(Chr(64 + j) & "2").Select
        End If
        myexcel.ActiveCell.FormulaR1C1 = lvwComm.ColumnHeaders(j).Text
        myexcel.ActiveCell.Font.Bold = True
   
    Next j
   
    i = 2
    For Each item In lvwComm.ListItems
   
        i = i + 1               '从第三行开始
        DoEvents
       
        '
        c = 0
        'For Each subItem In item.ListSubItems
        For c = 0 To item.ListSubItems.Count  'j - 1
       
            cuCell = UCase$(Chr(65 + c)) & CStr(i)
            If c >= 26 Then cuCell = "A" & UCase$(Chr(65 + c - 26)) & CStr(i)
           
            myexcel.Range(cuCell).Select
            myexcel.Selection.HorizontalAlignment = xlLeft
            If c = 0 Then
                myexcel.ActiveCell.FormulaR1C1 = item.Text & ""
            Else
                myexcel.ActiveCell.FormulaR1C1 = item.SubItems(c) & ""
            End If
           
        Next c
   
    Next
   
    myexcel.Visible = True
    myexcel.DisplayAlerts = False
  
    If isprint = False Then
        'mysheet.PrintPreview
        myexcel.ActiveWindow.SelectedSheets.PrintPreview
    Else
        myexcel.ActiveWindow.SelectedSheets.PrintOut
        myexcel.Visible = False
        myexcel.DisplayAlerts = False
        myexcel.Quit
    End If
 
    If err.number > 0 Then
        MsgBox "本功能需要安装EXCEL支持!", vbInformation
    End If
   
    Set myexcel = Nothing
    Set mybook = Nothing
    Set mysheet = Nothing
End Sub

 
[收藏] [返回顶部] [打印本页] [关闭窗口]  
 
 
 
 相关主题:  
 
怎样利用VB向指定IP端口发送封包!!
巧用CELL函数实现多表合并
浅析Mid函数实现字符串的替代
 
 网友评论:
正在加载……
 
*评论者:
主页:
标题:
*内容:
【声明】 地球黑匣子网刊载的资讯及其他内容均由网友提供分享 并且纯属作者个人观点,不表示地球黑匣子网同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系,我们会马上进行重新整理!
最新日志列表
人气主题
 
 
 
 
声明:本网站部分内容属网民发布和来自于互联网。对于引用、发布、转载和放置的内容(广告、链接、文字、图像或声音),所产生的所有法律责任,都将由信息归属者或者广告厂商提供者承担,并且由此产生的版权、署名权的异议、纠纷,本网站概不承担任何责任,本站转载素材仅供大家欣赏和分享,切勿做为商业目的使用。
 
Copyright © 地球黑匣子网 2007.06 - 2009   Email:dqhxzcom@163.com
鲁ICP备07501416号   QQ:254212580 网站管理