问题标签 [openxml-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3611 浏览

vsto - Open XML SDK - 以编程方式将宏添加到 Word 2007 文档

我正在尝试按照本文中描述的手动方法在 Word 2007 文档中动态添加新的自定义功能区:- http://msdn.microsoft.com/en-us/library/aa338202(v=office.12)。 .aspx _

该文章指定以下内容:-

a) 创建一个名为 customUI.xml 的 XML 文件,该文件将包含您要在选项卡中显示的元素,并将其放在名为 customUI 的文件夹中。

b) 将您的 Word 2007 文档重命名为 .zip。将上述“customUI”文件夹添加到 zip 文件中。

c) 将以下关系添加到 .zip 文件中的“_rels/rels”文件中:-

我们是否有一些代码示例可以使用 OpenXML SDK 实现相同的目标?例如,如何将“RibbonExtensibilityPart”(包含功能区 XML)添加到文档中?

编辑:-

这就是我执行上述步骤的方式:-

我可以看到带有元素的新功能区。但是,我在功能区中有按钮,我想在这些按钮上添加句柄操作。以下是我的功能区 XML 的样子:-

看看“ onAction="ThisDocument.MyOtherButtonMacro "。我知道我可以在文档中编写宏功能。但是,由于自定义功能区将在服务器端动态添加,我不确定如何添加动态宏。有人可以帮忙吗?

0 投票
1 回答
290 浏览

vsto - 如何将 Word 加载项 2007 添加到特定的 Word 2007 文档

我创建了一个 Word 加载项,它将从外部 Web 服务加载自定义功能区中的数据。我需要在文档中包含该加载项,以便它可以仅在该文档上填充数据。我不想拥有应用程序级别的加载项,因为它会尝试为用户可能创建的任何其他 Word 文档加载数据。我想这样做,因为该文档将用作其他文档的模板。这可能吗?

如果以上都做不到,你如何实际安装 word-2007 插件。我看到这个链接。这是一个人应该这样做的方式吗?

我在 Windows 7 上使用 VS 2010 高级版。我的机器上也安装了 Word 2007。

0 投票
1 回答
1011 浏览

openxml-sdk - 使用 EPP Plus 库保护 Open XML 文档

我正在使用EPP Plus 库来创建我的 excel 文档。我想保护我的文档/单元格。我可以锁定我的单元格,但我无法锁定我的文档。任何人都可以帮助我如何做到这一点。

谢谢

0 投票
1 回答
223 浏览

openxml - 功能区未显示从数据库动态生成的功能区 XML

我正在尝试使用数据库中的数据形成功能区 XML,以下是我写的:-

我没有看到执行上述任何错误。但是,当我打开更改后的文档时,我没有看到添加了我的功能区。我在单词中的 CustomUI/CustomUI.xml 中看到以下内容:-

我不确定如何将“xmlns”属性添加到功能区元素中。当我删除该属性时,会显示功能区。

有人可以对我哪里出错有任何想法吗?

0 投票
1 回答
314 浏览

openxml - OpenXML - 限制自定义 MS-Word 功能区组中显示的按钮数量

我想限制 Word 2007 中功能区组中按钮的数量,因为按钮是根据数据库中的数据生成的。见下图。显示的按钮太多. 我想在带有对话框启动器的功能区中设置有限的数量,例如 6 个左右,单击该对话框启动器将打开一个显示所有按钮的窗格。有没有办法做同样的事情。当有人单击对话框启动器时,有人还可以告诉我如何创建该窗格吗?

0 投票
1 回答
334 浏览

openxml - 从 byte[] 创建 WordProcessingDocument 时不会创建功能区

当我从 docx 文件的路径打开 WordProcessingDocument 时,会创建功能区。但是,当我从 docx 文件的字节内容中打开它时,它不会被创建。以下内容未显示 docx 文件中的功能区:-

下面显示了功能区:-

GetRibbonXml() 获取功能区的 XML。我正在删除添加到功能区元素中的 xmlns=""(来自这里的问题)。

有人可以提出一些想法,为什么没有添加功能区。甚至 customUI 文件夹也不会添加到 word zip 文件中。任何人都可以帮忙。

0 投票
1 回答
3933 浏览

c# - 使用 OpenXML 从 Excel 文件中读取日期

我正在制作一个在 C# 中使用 OpenXML 来读取 excel 文件的库。我可以很好地阅读单元格文本和数字,但是在日期方面存在问题。单元格有“日期”类型,但显然 Excel 2007 不保存该类型的日期,所以我无法判断我正在读取的值是否是日期,而是似乎使用样式。

我如何检测它是否是日期并返回它的字符串表示形式(例如:29-12-2010)?

0 投票
1 回答
1127 浏览

xml-serialization - OpenXML SDK 2.0 枚举 XML 部件和元素

我正在尝试使用 OpenXML SDL 2.0 在 Word 文档中构建特定元素的列表。我将打开一个模板并扫描 Word 模板中的所有“w:sdt”元素,这些元素将用作可用文档部分的列表。我将向用户显示此列表,以便他们可以选择所需的部分/元素以从模板文档构建文档的新版本/副本。

所以我的列表需要获取顺序元素编号(这由 DocumentBuilder 类使用)以及“w:alias”“val”或者可能用于显示的“w:tag”“val”选择选项给用户。

一旦用户查看了可用的模板 XML 部分/元素并做出选择,我将使用 DocumentBuilder 按序号将标识的部分添加到新文档中。

我已成功使用 DocumentBuilder 通过序列号显式识别文档元素以构建新文档。这很好用。

我知道我需要使用递归来遍历模板文档并将合格的元素添加到列表中。我只是对 C# 或 OpenXML SDK 还不够了解,无法确定通过针对所需 XML 部分/元素的模板文档进行递归的最优雅方式。

任何人都可以指出一个适用的示例来枚举 OpenXML 文档中的部件/元素列表吗?

0 投票
1 回答
690 浏览

xml-serialization - 序列化存储在 VARBINARY SQL 2005 中的 OpenXML 部件元素

我正在构建一个解决方案,允许用户从 Word 模板中挑选和选择部分,用数据库中的内容填充这些部分,并将 1k 新数据组装到新的 .docx 文档中将该内容移植到新文档中。我正在使用 OpenXML SDK 2.0 通过样式和内容控件来定位内容。我能够创建包含段落、SdtBlocks、Run 等元素的 IEnumerable 对象。

我需要找到一种优雅的方法来序列化这些元素块,这样我就可以将它们作为 VARBINARY 类型的整个块存储在 SQL 2005 数据库中。有人可以指点我一个可行的例子来序列化这些 OpenXML 部件/元素吗?

0 投票
1 回答
3188 浏览

openxml - 为什么 OpenXML 创建的项目符号会变成一个奇怪的字符?

我在使用 Open XML SDK 创建项目符号列表时遇到了一个非常奇怪的问题。问题是列表中的项目符号以奇怪的字符显示,而不是我预期的点。以下是代码:

有人会指出代码中的问题吗?