2017-09-15 9 views
0

SQLデータベースからのデータセットを使用して差し込み印刷を実行しています。私は取得していたデータが、その中にいくつかのHTMLマークアップを使用してデータベースに格納され、例:私の差し込みフィールドのメールマージ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タグのフォーマットされたテキストを表示するために、マージフィールドを達成するにはどうすればよい:

以下

は、私が使用しているコードのですか?どんなアドバイスも大歓迎です。

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イベントを処理することにより、差し込み印刷プロセスをカスタマイズする方法を示しています。あなたはGemBox.Documentていることを行うことができますどのようにここで

答えて

0

です。 "MyField"名前のマージフィールドは、HTML形式の文字列を受け取るため、DataTableの "MyField"列にはHTMLテキストが必要です。
また、差し込み印刷では、DataTableをデータソースとして使用できます。 mail merge example heremail merge documentation hereがあります。

また、次の記事が面白いと思います。How to insert HTML and RTF content during the mail merge process

関連する問題