我正在使用Novacode docx读取书签并将其替换为我的数据。查看我的docx文件,我有一个名为' UserID'我尝试用我的c#代码替换它,如下所示
using (DocX doc = DocX.Load(oTemplate))
{
doc.Bookmarks["UserID"].SetText("MyUser");
}
我得到的错误是"序列包含多个元素" 当我在调试器中查看doc的对象时,实际上有两个书签的名称为' UserID'但言语中只有一个。我正在使用2016年的单词。任何人都有任何想法可能是什么问题?
答案 0 :(得分:-1)
using (DocX document = DocX.Load(AchivoPlantilla))
{
Novacode.Image img = document.Images[0];
int i = 0;
foreach (Novacode.Bookmark bookmark in document.Bookmarks)
{
var bookmarks = document.Bookmarks[i].Name;
if (bookmarks == "varNombreEmpleado") //Compara la marca con la varible de base de datos
{
document.Bookmarks[bookmark.Name].SetText(TextBox1.Text);
}
i++;
}
document.SaveAs(docSalida);
Process.Start("WINWORD.EXE", "\"" + docSalida + "\"");
}