Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不破坏C语言风格的情况下向现有段落添加文本?_C#_Openxml - Fatal编程技术网

C# 如何在不破坏C语言风格的情况下向现有段落添加文本?

C# 如何在不破坏C语言风格的情况下向现有段落添加文本?,c#,openxml,C#,Openxml,我一直在尝试解决C中的一个问题,即用一些额外的新文本信息更新段落文本: 我不是一个C开发人员,如果这个问题很愚蠢或者很容易解决,请原谅我 我有以下几段: 爱丽丝打算去买东西 鲍勃是个好人 比如说,这些段落是用Arial字体写的,有11个点。所以我想在每一段后面加上一些文字 最终结果将是: 爱丽丝要去买东西 鲍勃是个好人 我试过这个: using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true

我一直在尝试解决C中的一个问题,即用一些额外的新文本信息更新段落文本:

我不是一个C开发人员,如果这个问题很愚蠢或者很容易解决,请原谅我

我有以下几段:

爱丽丝打算去买东西

鲍勃是个好人

比如说,这些段落是用Arial字体写的,有11个点。所以我想在每一段后面加上一些文字

最终结果将是:

爱丽丝要去买东西

鲍勃是个好人

我试过这个:

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true))
{
     List<Paragraph> paragraphs = paragraphService.GetParagraphs(wordDoc);
     foreach (Paragraph par in paragraphs) 
     {
         string paragraphText = paragraphService.ParagraphToText(par);
         paragraphText = textService.DeleteDoubleSpace(paragraphText);
         if (paragraphText.Length != 0) 
         {
             if (paragraphText == targetParagraph) 
             {
                 //Here I know that the added text will be corresponding to the my target paragraph.
                 //This paragraph comes from a JSON file but for simplicity I did not add that part.
                 par.Append(new Run(new Text("SomeText0")));
                 par.ParagraphProperties.CloneNode(true);
             }
         }
     }
 }
添加文本是可行的,但是样式不一样,我不想要一些随机样式。我希望新添加的文本具有与段落相同的字体和大小

我也尝试了几种选择,使其成为段落,只是文本等,但我找不到解决办法


任何帮助都将不胜感激。

开放式xml格式存储以下段落

<w:p>
  <w:r>
    <w:t>String from WriteToWordDoc method.</w:t>
  </w:r>
</w:p>

希望这有帮助。

嗨,Oguz,谢谢你的回答。造型作品,但是,有时文本被放置在段落的中间。我希望它们明确地出现在这一段的末尾。在这个例子中,附加到PAR的工作是在最后进行测试。我想知道如何从原来的PAR应用相同的样式。
foreach (Paragraph par in paragraphs)
{
    Run[] runs = par.OfType<Run>().ToArray();
    if (runs.Length == 0) continue;
    Run[] runsWithText = runs.Where(x => x.OfType<Text>().ToArray().Length > 0).ToArray();
    if (runsWithText.Length == 0) continue;
    Text lastText = runsWithText.Last().OfType<Text>().Last();
    lastText.Text += " Some Text 0";
}