0

所以,我更新了我的 Template.docx(在路径中给出),以替换一些新的关键字。但它仍然使用旧的模板文件,即使它不再存在于项目中。VS 中是否有一个设置可以在后台保护模板?或者我只是愚蠢的,这是代码:

  public void Export(string path, string templatePath, TemplateFillArgument templateFill)
    {
        
        using(WordprocessingDocument doc = WordprocessingDocument.CreateFromTemplate(templatePath))
        {

            doc.ChangeDocumentType(WordprocessingDocumentType.Document);

            IEnumerable<OpenXmlElement> elements = doc.MainDocumentPart.Document.Body.Descendants();

            
            IEnumerable<Text> texts = elements.OfType<Text>();

            
            IEnumerable<Table> tables = elements.OfType<Table>();


            
            foreach (TextInsert tr in templateFill.TextReplacements)
            {
                Text t = texts.FirstOrDefault(x => x.Text.Contains(tr.Key));

                if (t != null)
                {
                    t.Text = t.Text.Replace(tr.Key, tr.ReplaceWith);
                }
            }

           
           //Some logic to remove extra pages and to add a table
            }

            
            doc.SaveAs(path).Close();
        }
    }

}
4

0 回答 0