问题标签 [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 投票
8 回答
73380 浏览

c# - 使用 Open XML 从 Excel 到 C# 中的 DataTable

我正在使用 Visual Studio 2008,我需要DataTable使用 Open XML SDK 2.0 从 Excel 表创建一个。我需要使用工作表第一行的 DataTable 列创建它,并使用其余值完成它。

有没有人有示例代码或链接可以帮助我做到这一点?

0 投票
5 回答
20172 浏览

c# - 如何使用 OpenXml 2.0 将任何文件类型嵌入 Microsoft Word

我花了很多时间试图找出一种使用 OpenXml 2.0 将任何文件嵌入 Microsoft Word 的好方法;Office 文档相当简单,但其他文件类型如 PDF、TXT、GIF、JPG、HTML 等呢?

在 C# 中,什么是让它适用于任何文件类型的好方法?

0 投票
2 回答
518 浏览

openxml-sdk - 使用 XML 库手动编码时,Open XML SDK v2 究竟解决了哪些问题?

这与我提出的另一个问题密切相关:Open XML SDK v2 中是否存在未公开的功能?

我目前正在手动处理 Open XML 文件。我最近查看了 SDK,惊讶地发现它看起来非常低级,实际上与我自己创建的帮助类非常相似。我的问题是,在使用 XML 库进行手动编码时,SDK v2 究竟会处理哪些您必须手动执行的操作?

例如,它会在删除 PowerPoint 幻灯片时自动修补 _rels 文件吗?

0 投票
2 回答
5804 浏览

c# - 使用 OpenXML SDK 将 RTF 文件的内容嵌入到 DOCX 文件中

在我们旧的基于 MSWord-97 的系统中,我们使用 COM 与 .doc 文件交互,并嵌入一个 OLE 对象,因此嵌入的文档在父级中可见(而不是作为图标)。

我们将其替换为使用 OpenXML SDK 的系统,因为它需要在我们的服务器上安装 Word,它会生成 .docx 文件。但是我们仍然需要将 RTF 文件的内容嵌入到生成的 DOCX 中……特别是我们用文件的内容替换书签。

我在网上找到了一些例子,但它们都不同。当我在 Word 中创建一个简单的示例并查看 XML 时,有很多东西可以定位/显示嵌入对象的视觉表示,而嵌入本身似乎并不太可怕。最简单的方法是什么?

0 投票
4 回答
1558 浏览

.net - 自动化测试 OpenXML SDK

我正在使用内容控件和 OpenXML SDK 实现 ms word 文档生成。我想对该代码进行一些自动化测试(单元测试或一些简单的 UI 自动化测试)。

有没有人有测试 MS Word 文档生成的经验?有哪些可能的选择?

提前致谢!

0 投票
0 回答
891 浏览

.net - 将文件插入/嵌入到 DOCX 文件 - 确定文件类型

假设我有一个 API,它允许客户端将文件插入 DOCX 模板,他们只需传递文件的路径。如果是图像,我只想将图像添加到文件中,如果是 RTF/DOC,那么我可以嵌入它以便内容可见,如果是 MP3 或 PDF 等其他类型,那么它可能只是嵌入图标。

我想我可以简单地查看文件扩展名,但即便如此我认为我可能需要正确的文件类型字符串,我看到类似的代码片段mainPart.AddEmbeddedObjectPart("application/vnd.openxmlformats-officedocument.oleObject")并且想知道如何将文件扩展名映射到类型。有这样的东西方便的页面吗?

而且,我假设我确实需要图片/其他类型的不同逻辑?嵌入图片会很奇怪吗?

0 投票
2 回答
5075 浏览

c# - C# 替换 docx 中的文本字符串

使用 C#,是否有一种在 docx 文件中查找和替换文本字符串的好方法,而无需在该机器上安装 word?

0 投票
3 回答
13350 浏览

c# - 替换 OpenXML 中的内容控件

我需要一些东西作为占位符。我起初将内容控制视为一种解决方案,但我遇到了一些问题。

然后我考虑将 CustomXML 添加到 .docx,但由于 i4i 诉讼而放弃了。

然后我决定我将通过 OpenXML SDK 2.0 简单地更改内容控件的文本,但即使它被如此标记,内容控件也不会消失。我猜它不知道文本发生了变化,除非它发生在单词内部。

我也许可以只删除 CC 并放置文本,但我担心它可能带来的格式和样式问题,而且它也会违背内容控件的目的。

然后我开始想知道我是否可以定义自己的 Word 可以识别的占位符。也许通过积木。它不需要做任何事情,除了使用 OpenXML 很容易找到并且可以以某种方式标记,所以我知道用什么替换它。我不太确定 Building Blocks 可以做什么,但我希望它是可行的。

不确定哪种解决方案最适合我,但我需要的是:

a) 易于放置在模板中的东西,可能是预定义的 Content Control 占位符,您可以将其放置在您不想放置的位置并根据需要设置样式。

b) 添加数据后,它会删除所有占位符,不会再次修改。它保留占位符中定义的样式/格式。

回顾一下,我需要回答

如何在 OpenXML SDK 中编辑内容控件,以便在添加文本后将其删除。

-或者-

我可以为我可以替换的 Word 文档定义我自己的自定义 OpenXML 标记吗?

0 投票
2 回答
8527 浏览

excel-2007 - 如何使用 Open XML SDK 2.0 向 Excel 2007 中的单元格添加注释?

有没有人幸运地弄清楚如何使用 Open XML SDK 2.0 向 Excel 添加评论?我找不到任何关于从哪里开始解决这个问题的文档。

0 投票
1 回答
370 浏览

c# - 从模板复制 docx 并将其用作新的

我正在使用“template.docx”复制到我的“newDoc.docx”以使用一些预定义的样式或插图。但是有了这个新内容,我想更新字段和我的目录,所以用 vba 脚本很容易,用户不需要做任何事情。

但我有一个问题,我只想在第一次打开时执行一次。但是如果我使用 document_new 方法,我的 docx 就不是新的了。

那么,当我复制它时,如何将它“设置”为新文件/文档?或者也许我必须使用 vba 变量,在更新时修改它以防止其他更新?

谢谢!