`
wms20070910
  • 浏览: 97464 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据导出(Lotus Notes)

阅读更多
导出到excel中
Sub Click(Source As Button)
Dim s As New notessession
Dim db As notesdatabase
Dim view As notesview
Dim dc As notesdocumentcollection
Dim doc As notesdocument
Dim vcols As Variant
Dim uvcols As Integer

Set db = s.currentdatabase
Set dc = db.unprocesseddocuments
Set view = db.getview("当前视图的名称 ")
uvcols=Ubound(view.columns)

Dim xlapp As Variant
Dim xlsheet As Variant
'创建一个Excel对象
Set xlapp=createobject("Excel.application")
xlapp.statusbar = "正在创建工作表,请稍等......"
xlapp.visible = True
'添加工作薄
xlapp.workbooks.add
xlapp.referencestyle = 2
Set xlsheet = xlapp.workbooks(1).worksheets(1)
'为工作表命名
xlsheet.name = "notes export"
Dim rows As Integer
rows = 1
Dim cols As Integer
cols = 1
Dim maxcols As Integer
For x=0 To Ubound(view.columns)
xlapp.statusbar = "正在创建单元格,请稍等...... "
If view.columns(x).IsHidden = False Then
   If view.columns(x).title<>"" Then
    xlsheet.cells(rows,cols).value = view.columns(x).title
    cols = cols + 1
   End If
End If
Next
maxcols=cols-1

Set doc=dc.getfirstdocument
Dim fieldname As String
Dim fitem As notesitem
rows=2
cols=1

Do While Not(doc Is Nothing)
For x=0 To Ubound(view.columns)
   xlapp.statusbar="正在从Notes中引入数据,请稍等......"
   If view.columns(x).IsHidden=False Then
    If view.columns(x).title<>"" Then
     fieldname = view.columns(x).itemname
     Set fitem = doc.getfirstitem(fieldname)
     xlsheet.cells(rows, cols).value = fitem.text
     cols = cols +1
    End If
   End If
Next
rows = rows+1
cols = 1
Set doc= dc.getnextdocument(doc)
Loop

%REM
xlApp.Row s("1:1").select
xlApp.Selection.Font.Bold=True
xlApp.Range(xls heet.cells(1,1),xlsheet.Cells(rows,maxcols)).Select
xlApp.Selection.Fon t.Name="Arial"
xlApp.Selection.Font.Size=9
xlApp.Selcetion.Col umns.Autofit
%END REM

With xlapp.worksheets(1)
.pagesetup.orientation = 2
.pagesetup.centerheader = "report _ confidential"
.pagesetup.rightfooter = "page &P" & Chr$(13) & "Date:&D"
.pagesetup.CenterFooter = ""
End With

xlapp.referencestyle = 1
xlapp.range("A1").Select
xlapp.statusbar = "数据导入完成。"
End Sub

b)          以表格形式导出
Sub Initialize
%REM
功能:导出内部数据到Excel中去
作者:xxx
最后修改时间:
%END REM
       On Error Goto unknowErr
       Dim session As New NotesSession
       Dim db As NotesDatabase
       Dim view As NotesView
       Dim tempdoc As NotesDocument
       Dim strTemp As String
      
       Dim strPath As String
       If session.CurrentDatabase.FilePath=session.CurrentDatabase.FileName Then
              strPath=""
       Else
              strPath=Strleftback(session.CurrentDatabase.FilePath,session.CurrentDatabase.FileName)
       End If
       Set db=New NotesDatabase("",strPath & "db_StaffInformation.nsf")
       Set view=db.GetView("hvpersonInfo")
      
       Print {Content-disposition:attachment; filename=data.xls}
       Print {<table border="1">}
       Print {<tr>}
       Print {<td>工号</td>}
       Print {<td>姓名</td>}
       Print {<td>性别</td>}
       Print {<td>单位名称</td>}
       Print {<td>职位</td>}
       Print {<td>办公地点</td>}
       Print {<td>办公电话</td>}
       Print {<td>移动电话</td>}
       Print {<td>传真</td>}
       Print {<td>IP地址</td>}
       Print {<td>邮政编码</td>}
       Print {<td>电子邮件</td>}
       Print {<td>联系地址</td>}
       Print {</tr>}
       '填写数据
       Set tempDoc=view.GetFirstDocument
       While Not tempDoc Is Nothing
              Print {<tr>}
              '工号
              Print {<td >} & Cstr(tempDoc.EmployeeID(0)) & {</td>}
              '姓名
              Dim neibuName As NotesName
              Set neibuName=New NotesName(tempDoc.myname(0))
              Print {<td >} & neibuName.Common & {</td>}
              Print {<td >} & tempDoc.Sex(0) & {</td>}
              '工作单文
              If neibuName.OrgUnit1<>"" Then
                     strTemp=neibuName.OrgUnit1
              End If
              If neibuName.OrgUnit2<>"" Then
                     strTemp=strTemp & "/" & neibuName.OrgUnit2
              End If
              If neibuName.OrgUnit3<>"" Then
                     strTemp=strTemp & "/" & neibuName.OrgUnit3
              End If
              If neibuName.OrgUnit4<>"" Then
                     strTemp=strTemp & "/" & neibuName.OrgUnit4
              End If
              Print {<td >} & strTemp & {</td>}
              '职务
              If tempDoc.JobTitle(0)="1" Then
                     strTemp="员工"
              End If
              If tempDoc.JobTitle(0)="2" Then
                     strTemp="业务主管"
              End If
              If tempDoc.JobTitle(0)="3" Then
                     strTemp="副经理"
              End If
              If tempDoc.JobTitle(0)="4" Then
                     strTemp="部门经理"
              End If
              If tempDoc.JobTitle(0)="5" Then
                     strTemp="分管领导"
              End If
              If tempDoc.JobTitle(0)="6" Then
                     strTemp="总经理"
              End If
              If tempDoc.JobTitle(0)="7" Then
                     strTemp="董事长"
              End If
              Print {<td >} & strTemp & {</td>}
              Print {<td >} & tempDoc.Location(0) & {</td>}
              Print {<td >} & tempDoc.OfficePhoneNumber(0) & {</td>}
              Print {<td >} & tempDoc.CellPhoneNumber(0) & {</td>}
              Print {<td >} & tempDoc.OfficeFAXPhoneNumber(0) & {</td>}
              Print {<td >} & tempDoc.IP(0) & {</td>}
              Print {<td >} & tempDoc.OfficeZIP(0) & {</td>}
              Print {<td >} & tempDoc.InternetAddress(0) & {</td>}
              Print {<td >} & tempDoc.OfficeStreetAddress(0) & {</td>}
              Print {</tr>}
              Set tempDoc=view.GetNextDocument(tempDoc)
       Wend
       Print {</table>}
       Exit Sub
unknowErr:
       Messagebox "错误行:" & Erl & "错误信息:" & Error
End Sub
分享到:
评论

相关推荐

    outlook联系人导入lotus notes

    在电子邮件管理中,有时我们需要在不同的邮件客户端之间迁移数据,例如将Microsoft Outlook的联系人转移到IBM Lotus Notes。这个过程可以通过一系列步骤来完成,主要涉及到联系人的导出和导入操作。以下是一个详细的...

    LotusXSL.zip_liaisonparser_lotus notes_lotusxsl_notes_zip

    "liaisonparser"可能是一个特定的解析器组件,用于解析Lotus Notes中的XML数据,而"lotus_notes"标签表明这与IBM的Lotus Notes协同软件系统有关。"lotusxsl"可能是一个特定的库或服务,专门设计用于在Lotus Notes...

    Lotus-Notes文档数据库[参考].pdf

    最后,Lotus Notes还支持使用ODBC连接Notes数据库,允许从Windows应用程序访问Notes数据。这样的连接可以利用Notes的ODBC驱动程序来实现,允许从应用程序直接访问Notes文档。 综上所述,Lotus Notes是一个功能强大...

    IBM Lotus Notes 8.5 Reviewer's Guide

    ### IBM Lotus Notes 8.5 Reviewer's Guide #### 一、Lotus Notes 8.5客户端的新特性 ##### 1.1 通用特性 **1.1.1 简化上下文菜单** 在Lotus Notes 8.5中,用户界面得到了改进,上下文菜单变得更加简洁明了。这...

    中文 lotus Notes R5 24学时教程(1-12)

    - Lotus Notes R5可以与其他IBM产品(如Domino Server)集成,提供更丰富的功能,如Web发布、数据库同步和外部数据源连接。 10. **系统管理和维护**: - 学习如何管理Notes客户端设置,包括配置代理、邮件服务器...

    Lotus notes常见问题答疑

    ### Lotus Notes 常见问题解答 #### 一、概述 Lotus Domino/Notes 是一款极为流行的文档管理和协作系统,在企业级应用与政府办公自动化领域占据着重要地位。本文将针对该系统的开发与管理过程中遇到的一些常见问题...

    lotus数据用java程序导入导出实现数据移置的方案

    ### Lotus 数据用 Java 程序导入导出实现数据移置的方案 #### 概述 在企业级应用中,Lotus Notes 和 Domino 平台因其强大的文档管理和协作能力而被广泛采用。随着业务需求的变化和技术的发展,有时需要将存储在 ...

    lotus数据库导出SQLServer数据库程序及源代码

    通过ODBC 数据源(32 位) 添加 Lotus Notes SQL Driver(*.nsf)数据源,选择自己的loust数据库文件.nsf delphi ADO控件通过ODBC Drivers直接连接,本程序中用例名设置为LotusOA,每次连接需要输入lotus密码,其他开发...

    lotus命令集lotus命令集lotus命令集lotus命令集

    2. `nsfdata`命令:用于处理Notes数据库的数据,如导出、导入和比较。 五、 Lotus Notes安全和权限管理 1. `ACL`(Access Control List):控制用户和组对数据库的访问权限。 2. `Deny`和`Allow`设置:分别限制和...

    Lotus_导出到Office_Excel_的函数的完整版本

    本主题聚焦于"Lotus"应用中导出数据到"Office Excel"的完整功能,这涉及到B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)两种架构下的解决方案。下面我们将详细探讨这个过程,以及相关...

    LotusScript代理导出数据到Excel

    对于Lotus Notes/Domino平台,通常有两种方法实现这一功能:前端JavaScript导出与后台LotusScript代理导出。本文将重点介绍后者,即如何利用LotusScript编写代理来实现出数据至Excel的功能。 #### 背景 在某些场景...

    lotus domino CS 导出选择的excel.docx

    在Lotus Domino应用程序中,有时需要将数据导出到更通用的格式,如Microsoft Excel,以便于数据分析或共享。在给定的代码片段中,展示了如何通过LotusScript实现从Lotus Domino数据库( Lotus Domino CS)导出选择的...

    lotus ID

    1. **创建和管理ID**:使用Lotus Notes Administrator或命令行工具如iNotes Utility来创建、导入、导出和更新ID。 2. **安全性和备份**:定期备份ID以防丢失,并确保只有授权人员可以访问ID文件。 3. **调试和权限...

    C++ API Book

    通过一个具体示例——Export DLL,展示了如何使用Lotus Notes C++ API创建用于导出数据的DLL。 #### 13. CreateTable DLL示例 介绍了如何使用C++ API创建用于数据库结构管理的DLL,如创建表格。 #### 14. Hotspot ...

    lotus domino 的历史

    1989年,首个版本Notes 1.0发布,支持DOS 3.1或OS/2操作系统,提供了革命性的特性,如RSA公钥技术加密、拨号功能和导入/导出能力。这一版本的成功销售预示着Lotus Notes将在商业领域发挥重要作用。 随着版本的迭代...

    lotus domino附件开发--批量下载附件

    描述:使用 Lotus Domino 开发批量下载附件的功能,实现将 Notes 文档中的附件批量下载到本地文件系统。 标签:Lotus Domino 附件开发 批量下载附件的实现思路 批量下载附件的实现思路主要分为两个步骤:首先,...

    Lotus Domino BS开发 --Lotus历史简介

    Lotus Domino的起源可以追溯到20世纪70年代的伊利诺斯州立大学,那时的PLATO Notes系统是它的前身。PLATO Notes开创了用户间安全通信的概念,而1976年的PLATO Group Notes进一步发展了这一概念,允许用户创建主题...

    Lotus C API示例

    Lotus C API 示例主要展示了如何利用 Lotus C Toolkit API 进行应用程序开发,特别是在处理 Lotus Notes 数据库和文档时的编程实践。这些示例适用于 Lotus Notes/Domino 6.5 版本,这是一个早期但仍然重要的版本,...

    lotus5---3

    4. **Lotus 1-2-3电子表格应用**:介绍数据分析、公式编写、图表制作和数据导入导出等功能。 5. **Lotus Freelance Graphics演示文稿**:教授如何制作专业级别的幻灯片,包括图形编辑、模板应用和过渡效果设置。 6. ...

    使用Excel对象导出edb数据易语言源码

    EDB(Enterprise Database)是Lotus Notes和Domino服务器中的核心数据库文件格式,用于存储各种类型的数据,如邮件、日历、联系人等。易语言虽然不是专门处理这种格式的工具,但通过特定的库或模块,可以实现对edb...

Global site tag (gtag.js) - Google Analytics