Базовый подход, который вы используете, работает нормально, но я удивлен, что вы не получаете никаких ошибок во время компиляции, потому что
IEnumerable<SdtBlock> block = mainPart.Document.Body.Descendants<SdtBlock>().Where
(r => r.SdtProperties.GetFirstChild<Tag>().Val == "TotalClose");
не совместимо с
Text t = block.Descendants<Text>().Single();
block
, так как IEnumberable
не имеет свойства Descendants
.Вам либо нужно перебрать все элементы в IEnumerable
и выполнить это для каждого элемента, либо вам нужно определить и создать экземпляр одного элемента, например:
using (WordprocessingDocument document = WordprocessingDocument.CreateFromTemplate(txtWordFile.Text))
{
MainDocumentPart mainPart = pkgDoc.MainDocumentPart;
SdtBlock block = mainPart.Document.Body.Descendants<SdtBlock>().Where
(r => r.SdtProperties.GetFirstChild<Tag>().Val == "test1").FirstOrDefault();
Text t = block.Descendants<Text>().Single();
t.Text = "13,450,542";
mainPart.Document.Save();
}