2011-10-25 23 views
0

我想知道是否有方法在.docx中用句子「玩」。如何使用OpenXML構建自定義句子

這就是我需要做的:

我有一個段落的文檔我的款

爲例在: 這是我需要根據一定的條件和格式化一個段落我不知道如何用openxml sdk來做到這一點。 例如結束。

因此,基於我在c#中評估的條件,我想添加/刪除文本。你應該知道的另一件事是我希望產品所有者更改文檔的文本。

基本上,我想達到的是擁有一個模板文檔,我的產品所有者可以隨意編輯,但在本文檔中,文本可能會根據文檔生成對象而改變。

感謝

回答

1

您可以在Word中創建模板文檔,並在您希望動態插入文本的每個位置創建一個內容控件。對於每個創建的內容控制,您應該設置唯一的標記屬性值。

在你的c#應用程序代碼中,你可以很容易地通過它的標籤找到一個內容控件。在找到它之後,可以保存其父節點,刪除內容控件,並將所需的文本作爲之前保存的父節點的子段落元素插入。

您可以使用「開發工具」選項卡添加內容控件。如果您看不到它,可以使用此處描述的步驟來顯示它:http://msdn.microsoft.com/en-us/library/bb608625.aspx

+0

這正是我一直在尋找的。非常感謝你!! – Breach

0

有一些參與替換文字,因爲文字可以分成多次運行的複雜性。如果您希望您的所有者能夠編輯文檔,這是您必須解決的問題。幸運的是,您可以使用示例代碼作爲PowerTools for Open XML的一部分。 PowerTools是爲PowerShell編寫的cmdlet,但您可以將核心C#代碼用於您自己的程序。 TextReplacer.cs模塊應該給你一個很好的起點。您需要一些其他依賴的模塊,例如PtOpenXmlDocument.cs,PtOpenXmlUtil.cs和PtUtil.cs。我希望有所幫助。

相關問題