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

excel-2007 - 如何通过 OpenXML sdk 将 excel 2007 文档方向更改为横向

我需要帮助将 excel 2007 文档方向更改为横向。我没有找到任何有用的信息。我为此使用 OpenXML SDK。我发现的唯一一件事:当我创建一个新的工作表时,我应该设置 PageSetup() { Orientation = OrientationValue.Landscape}; 但这无济于事。任何人都可以帮助解决这个问题吗?谢谢你。

0 投票
1 回答
4497 浏览

c# - OpenXML:替换WordprocessingML 中带有表格的元素

我正在使用 OpenXML SDK 以编程方式将一些<w:sdt/>元素替换为 OpenXML (WordProcessingML) 标记块。

例如,我有一个包含这些内容的段落:

还有一个结构如下的表:

基本上我想<w:sdt/>用表格标记替换段落中的元素。问题是我不能仅仅替换它,因为它会创建一个无效的文档(在另一个段落元素中包含段落的表格是无效的)。

我想要得到的结果是这样的:

我正在考虑创建一种方法,该方法使用元素之前的<w:sdt/>元素创建一个新段落,另一个使用 sdt 元素之后的元素创建一个新段落,但似乎这样的方法容易出错。

有没有一种方法可以做我想做的事而无需手动操作(当我尝试在文本行中插入新表格时,Word 会做这种方法)?

任何帮助将不胜感激。

0 投票
2 回答
827 浏览

powerpoint - 将 Open XML 注入 Open PowerPoint 演示文稿

我正在寻找一种使用 Open XML SDK 或仅将PresentationML和/或DrawingML注入到打开的 PowerPoint 2007/2010 演示文稿中的方法System.IO.Packaging。有一篇关于使用 Word 执行此操作的文章,但在该示例中,它使用的Range.XML是 Word 对象模型中的例程,我在 PowerPoint 的对象模型中找不到等效项。

我希望这样做的原因是,如果我有一个项目,PowerPoint 客户端不支持编辑,但 Open XML 支持(因此,PowerPoint 将显示它)。我想通过打开的演示文稿上的托管插件(VSTO)自己设置它。一个例子是文本的下划线(不是我在寻找这个,但它是一个例子) - 在 PowerPoint 中,您不能将文本的下划线设置为图片<a:blip/>,但在 Open XML 中可以。

有谁知道如何做到这一点?

0 投票
2 回答
7457 浏览

merge - OpenXml:在文档之间复制 OpenXmlElement

我有两个 Word 文档(WordprocessingDocument),我想将第一个元素的内容替换为第二个的正文中的内容。

这就是我现在正在做的事情:

基本上我使用它的别名从第一个文档中获取容器(一个 SdtBlock)来识别它,然后获取第二个元素的所有子元素(删除我不想复制的 SectionProperties),然后尝试将它们添加到容器元素。

问题是我遇到了这个异常:

当我调用该代码的最后一行(附加)时。

关于如何实现我想要的任何想法?

0 投票
11 回答
53470 浏览

c# - 使用 Open XML SDK 替换 Word 文件中的书签文本

我认为 v2.0 更好......他们有一些很好的“如何:......”示例,但书签的行为似乎不像 Table 那样明显......书签由两个XML 元素BookmarkStart &书签结束。我们有一些带有文本作为书签的模板,我们只是想用一些其他文本替换书签......没有奇怪的格式正在发生,但我如何选择/替换书签文本?

0 投票
2 回答
11325 浏览

c# - C# Open Xml SDK 2.0 电子表格设置单元格日期时间格式

我很难找到这个。

我的情况:

  • 开发工具包 2.0
  • 没有模板电子表格
  • VS2010 中的 C# 4.0

我的问题:
我要构建的 excel 文件中的某些数据以 DateTime 格式存在。因为我不想只使用字符串(字符串日期时间无法正确排序),所以我想将包含 DateTime 的单元格设置为我选择的格式,就像我在 excel 中所做的那样。
据我了解,我必须使用样式表来达到这一点。我已经浏览了一段时间的网页,以找到对这个问题有简单解释的人,但似乎很难找到。

我已经在内存中有一个电子表格,可以通过 SheetData 添加数据。我唯一缺少的是单元格的格式/样式。

这是我走了多远:

我可以在哪里以及如何在日期时间之类的样式中添加简单的添加(例如,“dd-MM-yyyy”),以及以后可能更高级的样式?

我希望我足够具体:) 同时我会继续寻找......

谢谢 !!!

0 投票
1 回答
781 浏览

.net - DocumentFormat.OpenXml.Packaging.WordprocessingDocument 上的 Open 和 Create 之间的区别

这两种方法的文档读起来几乎和我一样。我有一个要打开并进行更改的模板 (.DOTX),另存为 .DOCX。什么是正确的方法?而且,事实上,我如何保存文档?我看不到保存方法...

0 投票
2 回答
6193 浏览

openxml-sdk - 打开 XML SDK:打开 Word 模板并保存到不同的文件名

这是一件非常简单的事情,我找不到合适的技术。我想要的是打开一个 .dotx 模板,进行一些更改并保存为同名但 .docx 扩展名。我可以保存 WordprocessingDocument,但只能保存到加载它的位置。我尝试使用 WordprocessingDocument 手动构建一个新文档,并进行了更改,但到目前为止没有任何效果,我尝试MainDocumentPart.Document.WriteTo(XmlWriter.Create(targetPath));并得到了一个空文件。

这里的正确方法是什么?就SDK而言,.dotx文件是特殊文件还是只是另一个文件-我应该简单地将模板复制到目标位置,然后打开并进行更改,然后保存吗?如果我的应用程序同时从两个客户端调用,我确实有些担心,它是否可以打开同一个 .dotx 文件两次……在这种情况下,无论如何创建副本都是明智的……但出于我自己的好奇心,我仍然想要知道如何做“另存为”。

0 投票
1 回答
1125 浏览

openxml-sdk - OpenXML SDK:未保存 HeaderPart 中的更新文本

elem通过搜索各种文档部分获得,包括 MainDocumentPart.Document 和 HeaderParts:

在所有情况下,输出都与 stdout 的预期完全一样,它看起来工作得很好。但是当文件被保存时,只看到对主体文本的更改......标题保持不变。我必须解锁标题还是什么?

0 投票
1 回答
962 浏览

ms-office - 是否存在 OpenXML SDK v2 中未公开的功能?

我想知道在 COM 接口中暴露的 SDK 是否有什么不能做的事情?