Lotus notes LotusNotes:从视图中,如何以表格或列表格式将列值插入电子邮件正文内容

Lotus notes LotusNotes:从视图中,如何以表格或列表格式将列值插入电子邮件正文内容,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我想知道如何将视图中的列值插入电子邮件内容并发送 我有一个代理,它从视图中获取前10个文档,将这10个文档的特定列值导出到一个.xls或.ods文件。然后,该文件将附加到电子邮件正文。现在,我还想将列表(表格式或列表格式)包含到内容电子邮件的主体中。应该采取什么办法 非常感谢您的帮助。我将使用我在这里描述的方法: 基本上,您要做的是创建一个表单,在其中布置要在每行上显示的字段。然后在代码中循环浏览Notes文档集合,并为每个文档创建一个行模板文档,填充其中的字段,并将文档作为富文本呈现到电子邮

我想知道如何将视图中的列值插入电子邮件内容并发送

我有一个代理,它从视图中获取前10个文档,将这10个文档的特定列值导出到一个.xls或.ods文件。然后,该文件将附加到电子邮件正文。现在,我还想将列表(表格式或列表格式)包含到内容电子邮件的主体中。应该采取什么办法


非常感谢您的帮助。

我将使用我在这里描述的方法:

基本上,您要做的是创建一个表单,在其中布置要在每行上显示的字段。然后在代码中循环浏览Notes文档集合,并为每个文档创建一个行模板文档,填充其中的字段,并将文档作为富文本呈现到电子邮件的正文(富文本)字段中。

使用该类通过和从视图中读取前10个文档。使用读取列值

将值写入RichText表。下面是一个如何创建和填充它的示例:

  Dim body As New NotesRichTextItem(doc, "Body")
  REM Create table in Body item
  rowCount% = 4
  columnCount% = 3
  Call body.AppendTable(rowCount%, columnCount%)
  REM Populate table
  Dim rtnav As NotesRichTextNavigator
  Set rtnav = body.CreateNavigator
  Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL) 
  For iRow% = 1 To 4 Step 1
    For iColumn% = 1 To 3 Step 1
      Call body.BeginInsert(rtnav)
      Call body.AppendText("your value from row's column")
      Call body.EndInsert
      Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
    Next
  Next

您可以使用
MIME
并使用
HTML
功能生成电子邮件内容,例如,您可以在电子邮件中生成以下表格:


页眉0页眉1页眉2
值0 0值1 0值2 0
值0 1值1 1值2 1
值0 2值1 2值2 2
下面是一个例子:

Dim ses As New notes session
Dim db As NotesDatabase
Dim coll As NOTES文档集合
标注文档作为注释文档
Dim mailDoc As NOTES文档
暗淡无光
朦胧的身躯
昏昏欲睡的孩子
Set db=ses.CurrentDatabase
html$={
页眉0页眉1页眉2
}
'获取您的文档集:
'Set coll=。。。
'生成表内容:
Set doc=coll.GetFirstDocument
不做就做,什么都不是
html$=html$&{
}&doc.Field0(0)&{}&doc.Field1(0)&{}&doc.Field2(0)&{}
Set doc=coll.GetNextDocument(doc)
环
html$=html$&{
}
'生成excel文件:
'fileName$=“SomeFile.xlsx”
'filePath$=“C:\SomeFolder\”&文件名$
'创建邮件文档:
设置mailDoc=db.CreateDocument
mailDoc.Subject=主题$
mailDoc.SendTo=邮件
ses.ConvertMIME=False
'将html添加到邮件正文:
Set stream=ses.CreateStream
Set body=mailDoc.CreateMIMEEntity
调用stream.WriteText(html$)
调用body.SetContentFromText(流,“text/html;charset=UTF-8”,ENC_IDENTITY_8BIT)
'添加附件:
Set child=body.CreateChildEntity
Set header=child.CreateHeader(“内容处置”)
调用header.SetHeaderValAndParams(|附件;filename=“|&filename$&|”|)
Set stream=ses.CreateStream
stream.openfilepath$,“二进制”
child.SetContentFromBytes流,“应用程序/八位字节流”,ENC_IDENTITY_二进制
child.EncodeContent ENC_BASE64
调用mailDoc.CloseMIMEEntities(True,“Body”)
“发送邮件:
调用mailDoc.Send(False)