OpenXML 从 Word 中删除项目符号或数字
OpenXML remove bullets or numbers from Word
我有一个网络应用程序,我可以在其中生成一个 word 文档。我使用合并字段从 sql 插入数据。我已将其中一个合并字段标记为项目符号列表,这样当我插入数据时,我可以将其拆分并使用 Append(Break),我可以创建一个项目符号列表。这很好用!问题是有时候,我没有任何东西可以放入合并字段,所以我只说 Field.Text = ""。因此,我从 word 文档中删除了所有 <>。但项目符号或编号仍保留在文档中。我不知道如何删除它。
我尝试按以下层次结构向上移动:Txt -> 运行 -> Paragraph -> ParagraphProperties -> NumberingProperties -> NumberingID/LvlReference...但我不知道下一步该做什么。我确定我需要在某处执行 Remove() 但我不知道在哪里。
感谢任何帮助。
谢谢!
似乎我设法通过提升层次结构并将 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();
}
容器是OpenXmlCompositeElement
,你可以从这样的东西中得到这个对象OpenXmlCompositeElement container = tagElement.Descendants<SdtContentRun>().FirstOrDefault();
我有一个网络应用程序,我可以在其中生成一个 word 文档。我使用合并字段从 sql 插入数据。我已将其中一个合并字段标记为项目符号列表,这样当我插入数据时,我可以将其拆分并使用 Append(Break),我可以创建一个项目符号列表。这很好用!问题是有时候,我没有任何东西可以放入合并字段,所以我只说 Field.Text = ""。因此,我从 word 文档中删除了所有 <>。但项目符号或编号仍保留在文档中。我不知道如何删除它。 我尝试按以下层次结构向上移动:Txt -> 运行 -> Paragraph -> ParagraphProperties -> NumberingProperties -> NumberingID/LvlReference...但我不知道下一步该做什么。我确定我需要在某处执行 Remove() 但我不知道在哪里。
感谢任何帮助。 谢谢!
似乎我设法通过提升层次结构并将 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();
}
容器是OpenXmlCompositeElement
,你可以从这样的东西中得到这个对象OpenXmlCompositeElement container = tagElement.Descendants<SdtContentRun>().FirstOrDefault();