【发布时间】:2010-11-02 08:50:46
【问题描述】:
为了根据 SQL 数据库中的数据创建 Word 文档,我使用 Office Open XML SDK 来避免使用互操作。这加快了进程,并且无需在客户端系统上安装 Microsoft 办公套件。
虽然这很有效,但在替换文档中的某些文本时我遇到了问题。为了使最终文档的自定义成为一个选项,我创建了一个包含一些标签的文档作为模板。此模板包含 [TagHere] 等标签。由于标签名称应该易于阅读,它们可以在整个文档中使用,这就是为什么我用大括号 [] 将标签括起来。
这很好用,但有时会出现问题。当您在 docx 文档中键入时,文本可以分成多个标签,即使在同一个单词中也是如此。像 [TagHere] 这样的标签可以拆分为
<tag>[</tag><tag>TagHere</tag><tag>]</tag>
发生这种情况时,替换将不起作用。
现在 docx 格式有一些替代选项来执行此类操作,例如 Content Controls,但这些使创建模板的过程更加复杂。此外,在这些文档中,获取带有标签的表格的一行并多次复制它并不少见,这可能会破坏内容标签原则。因此,我选择不使用此选项。
如果有人能解决这个问题,那就太好了。
【问题讨论】:
-
如果您将钓鱼钩(= 尖括号?)作为代码部分,则无需更换:选择文本并单击“101010”按钮。
-
感谢评论,每天学习:)
标签: xml openoffice.org