2016-01-08 94 views
0

我一直在搜索網絡以找到沒有運氣的答案;也許有人對我有一個簡單的答案?Word Docx mailmerge使用xml數據並使用xslt進行合併OPENXML

我已經創建了一個Word Docx,從中提取word/document.xml文件以創建xslt文件。

我幾乎沒有任何經驗,所以這是一個非常陡峭的學習曲線,所以我一直在關注我找到的各種示例,並使用從SQLServer生成的XML作爲數據生成工作'mailmerge'或轉換。

我現在需要像通常的'mailmerge'這樣的東西,像忽略頁面頂部打印的地址中的空白行,但我不知道如何使用我的xslt文件或任何其他方法。

望着XSLT文件,它應該被忽視的「段落」的一個例子是:

  <w:p w:rsidR="0067165E" w:rsidRPr="00F841C2" w:rsidRDefault="0067165E"> 
     <w:pPr> 
      <w:rPr> 
      <w:sz w:val="20"/> 
      <w:lang w:val="en-GB"/> 
      </w:rPr> 
     </w:pPr> 
     <w:r w:rsidRPr="00F841C2"> 
      <w:rPr> 
      <w:sz w:val="20"/> 
      <w:lang w:val="en-GB"/> 
      </w:rPr> 
      <w:t> 
      <xsl:value-of select="Address2"/> 
      </w:t> 
     </w:r> 
     </w:p> 

,因爲我不希望打印空白行,如果不填充地址2中。

從我已閱讀和小我理解(也可能是誤解),我需要設置的功能,忽略它不包含任何數據節點(難道我有那麼多嗎?)

我可以使用這個?

<xsl:template match="*[not(child::node())]"/> 

以及如何與該

<xsl:template match="/"> 
,我已經把我的XSLT文件的頂部

互動?

如果任何人都可以幫我解決這個問題,那真的會讓我感動。 對不起,如果它是如此簡單,我應該能夠閉上眼睛做到這一點,但我必須從某處開始!

感謝

回答

0

嗯,看來我可能是想看看最困難的方式做很簡單的東西。我又看了一遍,只是簡單地用元素和封閉整個部分來回答我自己的問題。

感謝任何人可能花時間看這個,對不起有人問這樣一個愚蠢的問題!