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);
}

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 に答える