【问题标题】:Novacode docx bookmarks does not renderNovacode docx 书签不呈现
【发布时间】:2017-08-06 01:00:50
【问题描述】:

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

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

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

【问题讨论】:

  • 第一个书签是否在您的目录中,而第二个书签是您的实际书签?顺便说一句:如果您能完全正常工作,我会很感兴趣,因为我还需要删除整个书签部分。

标签: c# novacode-docx


【解决方案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 + "\"");
            }

【讨论】:

  • 你能添加任何文字来解释为什么你的代码是正确的方法吗?
猜你喜欢
  • 2016-07-07
  • 2016-08-17
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多