簡體   English   中英

郵件將HTML格式的文本從數據庫合並到Word文檔

[英]Mail merge html formatted text from database to word document

我正在使用來自SQL數據庫的數據集進行郵件合並。 我正在檢索的數據存儲在數據庫中,其中帶有一些HTML標記,例如:

我的合並字段之一包含以下文本:

<ul><li><strong>Bullet Title 1</strong>Bullet content 1.</li><li><strong>Bullet Title 2</strong>Bullet content 2.</li></ul>

我的另一個合並字段包含以下文本:

<strong>List of employees</strong><br />First Name< br />Second Name<br />Third Name

目前,我正在使用Spire.Doc,但是在呈現文檔時,字段將顯示html標簽而不是呈現格式化的文本。

以下是我正在使用的代碼:

   Public Shared Sub FieldMerge(ByVal ds As DataSet, ByRef doc As Document)

        '**********************************
        'Merging
        '**********************************
        Dim fieldNames As New List(Of String)()
        Dim fieldValues As New List(Of String)()


        For Each dtcolumn As DataColumn In ds.Tables(0).Columns
            'Add the values to the list of string
            fieldNames.Add(dtcolumn.ColumnName)

            '**** THIS TEXT COULD HAVE SOME HTML TAGS - HOW TO RENDER THIS IN THE MERGE FIELD???? *****'
            fieldValues.Add(ds.Tables(0).Rows(0)(dtcolumn.ColumnName).ToString)

        Next

        Dim fieldNamesArray As String() = fieldNames.ToArray()
        Dim fieldValuesArray As String() = fieldValues.ToArray()

        'Execute the merge
        doc.MailMerge.Execute(fieldNamesArray, fieldValuesArray)


    End Sub

如何完成合並字段以顯示格式化的文本而不是html標簽? 任何建議將不勝感激。

使用GemBox.Document的方法如下:

Public Shared Sub FieldMerge(ByVal ds As DataSet, ByRef doc As DocumentModel)
    AddHandler doc.MailMerge.FieldMerging,
        Sub(sender, e)
            If e.FieldName = "MyField" Then
                e.Field.Content.End.LoadText(e.Value.ToString(), LoadOptions.HtmlDefault)
                e.Inline = Nothing
            End If
        End Sub

    doc.MailMerge.Execute(ds.Tables(0))
End Sub

該示例顯示了如何通過處理FieldMerging事件自定義郵件合並過程。 以“MyField的”名稱合並域應該得到一個HTML格式的字符串,所以在你的“MyField的”列DataTable應該有HTML文本。
您還可以看到,郵件合並可以將DataTable用作數據源。 您可以在此處找到郵件合並示例 ,並在此處找到郵件 合並文檔

另外,我認為您會發現以下文章很有趣: 如何在郵件合並過程中插入HTML和RTF內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM