2011-01-28 26 views
1

嗨,我嘗試使用openXML sdk和C#處理單詞.docx文件。如何在.NET中使用OpenXML SDK在特定位置插入.docx文件中的元素

我可以打開文件並插入段落,但我需要在文檔中的特定位置(在我的正文中的特定段落之後)插入段落。

我一直無法找到有關如何完成此任務的任何有用信息。

任何人都可以指向正確的方向嗎?

+0

老實說......沒什麼。我不知道從哪裏開始,也沒有找到我需要做的任何樣本。我的想法是在我需要插入之前找到段落,然後執行InserAfter .... – stephen776 2011-01-28 19:19:26

+0

您正在使用什麼鍵找到要插入的段落?一段文字或索引? – amurra 2011-01-29 03:48:01

回答

2

我已經解決的解決方案(儘管我知道還有其他方法)是爲文檔添加書籤,使用SDK查找書籤,並將其替換爲我的列表。很棒。

IDictionary<String, BookmarkStart> bookMarkMap = new Dictionary<String, BookmarkStart>(); 
      foreach (BookmarkStart bookMarkStart in wordDoc.MainDocumentPart.RootElement.Descendants<BookmarkStart>()) 
      { 
       bookMarkMap[bookMarkStart.Name] = bookMarkStart; 
      } 

      foreach (BookmarkStart bookMarkStart in bookMarkMap.Values) 
      { 
       if (bookMarkStart.Name == "MyBookmarkName") 
       { 
        //do insert here 
        var parent = bookMarkStart.Parent; 

        //create paragraph to insert 
        parent.InsertAfter(MyNewParagraph);   
       } 
      } 
相關問題