0

我正在尝试将文本插入到BookmarksOpenXML .docx 文件中,但它会在每个 .docx 文件之后插入一个新行Paragraph。我怎样才能防止这种情况?

例如: 在此处输入图像描述

我通过查找以下内容将文本添加到文档中Bookmarks

var bmk= body.Descendants<BookmarkStart>().FirstOrDefault(xx => xx.Name == "myBMK");
var parent = bmk.Parent;

parent.InsertBeforeSelf(GetText("DaveCompany"));

其中GetText定义为:

public static Paragraph GetText(string cellText)
{
    var run = new Run(new Text(cellText));

    return new Paragraph(run);
}

我尝试将文本从 a 中剥离出来Paragraph,例如

    parent.InsertBeforeSelf(new Run(new Text("DaveCompany")));

但这产生了无效的文件。

如何防止插入新行?

4

1 回答 1

1

事实证明它添加了额外的行,因为书签在它自己的段落中。当我添加新段落时

parent.InsertBeforeSelf(GetText("DaveCompany"));

容器表格单元格中有 2 个段落,文档显示了它应该有的内容。

解决方案是在我插入文本后删除书签的父段落,例如

var bmk= body.Descendants<BookmarkStart>().FirstOrDefault(xx => xx.Name == "myBMK");
var parent = bmk.Parent;

parent.InsertBeforeSelf(GetText("DaveCompany"));
parent.Remove();
于 2013-07-18T16:18:26.833 回答