zoukankan      html  css  js  c++  java
  • LOTUS/DOMINO学习笔记之导出到EXCEL的方法

    传递要导出的视图名和工作表名

    Function OutputExcel(ViewName As String,SheetName As String)
        
    Dim session As New NotesSession 
        
    Dim db As NotesDatabase 
        
    Dim view As Notesview
        
    Dim colls As NotesDocumentCollection
        
    Dim doc As Notesdocument
        
    Dim doc2 As Notesdocument
        
    Dim excelapplication As Variant 
        
    Dim excelworkbook As Variant 
        
    Dim excelsheet As Variant 
        
    Dim i As Integer 
        
    Dim uvcols As Integer 
        
    Dim selection As Variant 
        path
    =session.GetEnvironmentString ("D:",True)
        
    Set excelapplication=CreateObject("Excel.Application")
        excelapplication.statusbar
    ="正在创建工作表,请稍等.."
        excelapplication.Visible
    =True
        excelapplication.Workbooks.Add
        excelapplication.referencestyle
    =2
        
    Set excelsheet=excelapplication.Workbooks(1).worksheets(1)
        excelsheet.name
    =SheetName '工作表的名字
        Dim rows As Integer 
        
    Dim cols As Integer 
        
    Dim maxcols As Integer 
        
    Dim fieldname As String 
        
    Dim fitem As NotesItem 
        rows
    =1
        cols
    =1
        
    Set db=session.CurrentDatabase 
        
    Set view=db.GetView (ViewName)
        
    Set colls=db.UnprocessedDocuments
        uvcols
    =Ubound(view.Columns)
        
    For x=0 To Ubound(view.Columns)
            excelapplication.statusbar
    ="正在创建单元格,请稍等.."
            
    If view.Columns(x).IsHidden=False Then
                
    If view.Columns(x).title<>"" Then
                    excelsheet.Cells(rows,cols).value
    =view.Columns(x).Title
                    cols
    =cols+1 
                
    End If
            
    End If
        
    Next
        maxcols
    =cols-1
        
    Set doc=view.GetFirstDocument    
        
    Set doc2=colls.GetFirstDocument
        rows
    =2
        cols
    =1        
        
    Dim inside As Boolean
        inside
    =False
        
        
    While Not(doc Is Nothing)    
            
    For x=0 To Ubound(view.Columns)
                excelapplication.statusbar
    ="正在从Notes中引入数据,请稍等.."
                fieldname
    =view.Columns(x).itemname            
                
    Set fitem=doc.GetFirstItem(fieldname)
                
    If view.Columns(x).title="文档号" Then    '自动生成的文档号处理        
                    excelsheet.Cells(rows,cols).value=rows-1
                
    Else
                    
                    
    If Not (fitem Is NothingThen
                        excelsheet.Cells(rows,cols).value
    =fitem.Text 
                    
    Else
                        excelsheet.Cells(rows,cols).value
    =""
                    
    End If
                
    End If
                cols
    =cols+1
            
    Next
            rows
    =rows+1
            cols
    =1        
            
    Set doc=view.GetNextdocument(doc)
        Wend        
        excelapplication.statusbar
    ="数据导入完成。"    
        
    Set excelapplication=Nothing
    End Function
  • 相关阅读:
    <meta>标签常用内容
    CentOS8 yum方式安装mysql8.0
    xshell上传下载文件
    CentOS8查看防火墙状态,开启/关闭防火墙
    CentOS8 yum方式安装nginx1.8
    Ant下载与配置
    List集合的方法总结
    List集合的三个实现类比较
    List集合遍历的三种方法
    JAVA如何跳出多层循环
  • 原文地址:https://www.cnblogs.com/ringwang/p/1330931.html
Copyright © 2011-2022 走看看