C# OpenXML从Word中删除项目符号或数字
我有一个生成word文档的web应用程序。我使用合并字段从sql插入数据。我已经将其中一个合并字段标记为项目符号列表,这样当我插入数据时,我可以将其拆分,并使用Append(Break)创建项目符号列表。这太棒了!问题是,有时候,我没有任何东西放在合并字段中,所以我只说field.Text=”“。因此,我从word文档中删除了所有。但该项目符号或编号仍保留在文件中。我不知道如何移除它。 我试着像:Txt->Run->ParagraphProperties->NumberingProperties->NumberingID/LvlReference这样升级层次结构,但我不知道下一步该怎么做。我肯定我需要在某个地方做一个Remove(),但我不知道在哪里 感谢您的帮助。C# OpenXML从Word中删除项目符号或数字,c#,asp.net,ms-word,openxml,C#,Asp.net,Ms Word,Openxml,我有一个生成word文档的web应用程序。我使用合并字段从sql插入数据。我已经将其中一个合并字段标记为项目符号列表,这样当我插入数据时,我可以将其拆分,并使用Append(Break)创建项目符号列表。这太棒了!问题是,有时候,我没有任何东西放在合并字段中,所以我只说field.Text=”“。因此,我从word文档中删除了所有。但该项目符号或编号仍保留在文件中。我不知道如何移除它。 我试着像:Txt->Run->ParagraphProperties->NumberingProperties
谢谢大家! 似乎我通过向上提升层次结构并将numberingId.Val设置为0来获得结果。使用openXML SDK,我能够删除文档的编号和缩进。 我就是这样做的
var number = container.Descendants<NumberingProperties>().FirstOrDefault();
if (number != null)
{
number.Parent.Descendants<ParagraphStyleId>().FirstOrDefault().Remove();
number.Parent.Descendants<Indentation>().FirstOrDefault().Left = "-45";
number.Remove();
}
var number=container.subjects().FirstOrDefault();
如果(数字!=null)
{
number.Parent.subjects().FirstOrDefault().Remove();
number.Parent.subjections().FirstOrDefault().Left=“-45”;
number.Remove();
}