0

我正在使用 Novacode docx 来读取书签并用我的数据替换它们。查看我的 docx 文件,我有一个名为“UserID”的书签,我尝试在我的 c# 代码中替换它,如下所示

using (DocX doc = DocX.Load(oTemplate))
{
    doc.Bookmarks["UserID"].SetText("MyUser");
}

我得到的错误是“序列包含多个元素”当我在调试器中查看 doc 的对象时,实际上有两个名为“UserID”的书签,但在 word 中只有一个。我正在使用 word 2016。有人知道问题可能是什么吗?

4

1 回答 1

-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 + "\"");
            }
于 2017-08-31T17:01:15.790 回答