所以,我更新了我的 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();
}
}
}