gpt4 book ai didi

c# - 从 WordprocessingDocument 文档中删除 WebExtensionPart 后损坏

转载 作者:行者123 更新时间:2023-11-30 23:17:24 27 4
gpt4 key购买 nike

我是 open xml sdk 的新手,我对文字处理文档的关系如何工作不太了解。我想从包含 webtask-pane 的现有文档中删除 webtask-pane 并通过编程方式添加它。

使用 open office xml 从 WordprocessingDocument 中删除 WebExtensionPart 之后。

结果:文档损坏。原因:删除 WebExtensionPart 后关系部分存在。

代码:

public static void RemoveTaskPaneExt(WordprocessingDocument package)
{
WebExTaskpanesPart webExTaskpanesPart1 = package.GetPartsOfType<WebExTaskpanesPart>().FirstOrDefault();

if (webExTaskpanesPart1 != null)
{
WebExtensionPart aWebExtension =
webExTaskpanesPart1.GetPartsOfType<WebExtensionPart>()
.Where(
x =>
x.WebExtension.WebExtensionStoreReference.Id ==
System.Configuration.ConfigurationManager.AppSettings["PaneID"])
.FirstOrDefault();
if (aWebExtension != null)
{
bool result = package.WebExTaskpanesPart.DeletePart(aWebExtension);
}
}
}

请帮忙。提前致谢。

最佳答案

我通过删除任务 Pane 的所有子项得到了答案。

public static void RemoveTaskPaneExt(WordprocessingDocument package)
{
WebExTaskpanesPart webExTaskpanesPart1 = package.GetPartsOfType<WebExTaskpanesPart>().FirstOrDefault();

if (webExTaskpanesPart1 != null)
{
WebExtensionPart aWebExtension =
webExTaskpanesPart1.GetPartsOfType<WebExtensionPart>()
.Where(
x =>
x.WebExtension.WebExtensionStoreReference.Id ==
System.Configuration.ConfigurationManager.AppSettings["PaneID"])
.FirstOrDefault();
if (aWebExtension != null)
{
webExTaskpanesPart1.Taskpanes.RemoveAllChildren();
bool result = package.WebExTaskpanesPart.DeletePart(aWebExtension);
}
}
}

编码愉快!

关于c# - 从 WordprocessingDocument 文档中删除 WebExtensionPart 后损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com