Verwenden Sie das OpenXML SDK, um Text in einer docx-Datei durch einen Zeilenumbruch (newline) zu ersetzen.

Ich versuche C # zu verwenden, um eine bestimmte Zeichenfolge auf einem @ zu ersetze gesamtes DOCX-Datei mit Zeilenumbruch (Newline).

Die gesuchte Textzeichenfolge befindet sich möglicherweise in einem Absatz oder in einer Tabelle in der Datei.

Ich verwende derzeit den folgenden Code, um Text zu ersetzen.

using (WordprocessingDocument doc = WordprocessingDocument.Open("yourdoc.docx", true))
{
  var body = doc.MainDocumentPart.Document.Body;

  foreach (var text in body.Descendants<Text>())
  {
    if (text.Text.Contains("##Text1##"))
    {
      text.Text = text.Text.Replace("##Text1##", Environment.NewLine);
    }
  }
}

PROBLEM Wenn ich diesen Code ausführe, wird in der Ausgabe-DOCX-Datei der Text durch ein Leerzeichen (d. H. "") Anstelle eines Zeilenumbruchs ersetzt.

Wie kann ich diesen Code ändern, damit dies funktioniert?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage