从NOTES视图中导出EXCEL表及word文档

代码:

%INCLUDE "lsconst.lss"
%INCLUDE "lsxbeerr.lss"

Sub Initialize
 
 
 Dim session As New NotesSession
 Dim db As NotesDatabase
 Dim v As NotesView
 Dim docX As NotesDocument
 Dim col As Integer
 Dim lineitem As String 
 Dim View As String
 Set db = session.CurrentDatabase
 
 Print |Content-Type:application/vnd.ms-excel; charset=GB2312| 
 
 Print |Content-Disposition:Attachment; filename="Report.xls"|
' On Error Goto errorHandler
 
 View="$AttachmentView" ' 这里加上转换的视图名称
 Set v = db.GetView(View$)
 Call v.refresh
 col=1
 Print ||
 Print | <TABLE border=1>|
 lineitem=""
 Forall vColumn In v.Columns              
  If col=1 Then
   lineitem=| <TBODY> <TR> <TH align=middle><FONT color=#0000ff size=3>|+vColumn.Title
  Else
   lineitem=lineitem+|</FONT> <TH align=middle><FONT color=#0000ff size=3>|+vColumn.Title
  End If
  col=col+1
 End Forall
 lineitem=lineitem
 
 Print lineitem
 Set docX=v.GetFirstDocument
 lineitem=""
 While Not docX Is Nothing
  col=1
  Forall cValue In docX.ColumnValues
   
   If col=1 Then
    lineitem=|</FONT> <TR>|
   End If
   If cValue="" Then
    lineitem=lineitem+| <TD> </TD>|      
   Elseif Isdate(cValue) Then
    lineitem=lineitem+| <TD style="vnd: dd-mmm-yyyy" align=right>|+cValue+||<BR>   Elseif Isnumeric(cValue) Then
    If (v.columns(col-1).numberformat=3) Then
     lineitem=lineitem+| |+cValue+||
    Else 
     lineitem=lineitem+| <TD align=right>|+cValue+||<BR>    End If
   Else  
    lineitem=lineitem+| <TD>|+cValue+||
   End If
   col=col+1
  End Forall
  Print lineitem+||
  Set docX=v.GetNextDocument(docX)
 Wend
 Print |</TBODY></TABLE>|
 Exit Sub
 
errorHandler:
 Print "代理运行时出错 " & Err() & " : " & Error() & " - 行号为: "+Cstr (Erl) & Chr$(13)
 Exit Sub
 
End Sub

 

以上是指定一个视图,先顺序地读取其列头,然后顺序地读一条一条的记录,打印出来。选择不同的协议,如”Print |Content-Type:application/vnd.ms-excel; charset=GB2312| ”,打印excel文档、“Print |Content-Type:application/vnd.ms-word; charset=GB2312| ”,打印word文档。代理中其他相应的地方也要进行改动。

进行改进:可以通过让代理先读取一个config文件,里面事先指定好视图的名称、可以导出的列的名称及在视图中的序列号,这样首先通过一个选择页面进行选择,然后再导出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值