C# 删除Word文档中的段落

47 篇文章 1 订阅

在编辑Word文档时,我们有时需要调整段落的布局、删除不必要的段落以优化文档的结构和阅读体验。本文将通过以下3个简单示例演示如何使用免费.NET库删除Word文档中的段落 。

目录

C# 删除Word中的指定段落

C# 删除Word中的所有段落

C# 删除Word中的空白段落


免费.NET Word 库 - Free Spire.Doc for .NET。该库支持实现创建、编辑、转换Word文档等多种操作,可以直接在Visual Studio中通过NuGet搜索 “FreeSpire.Doc”,然后点击“安装”将其引用到程序中。或者通过该链接下载产品包,解压后再手动将dll文件添加引用至程序。

Free Spire.Doc for .NET | 下载下载.NET Word库用以阅读、创建、操作、转换以及打印MS Word文档。icon-default.png?t=N7T8https://www.e-iceblue.cn/Downloads/Free-Spire-Doc-NET.html

C# 删除Word中的指定段落

通过 Section.Paragraphs 属性获取 ParagraphCollection 对象后,再用 RemoveAt(int index) 方法可以实现删除指定索引处的段落。具体代码如下:

using Spire.Doc;

namespace RemoveParagraphs
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //加载Word文档
            Document document = new Document();
            document.LoadFromFile("南极洲.docx");

            //获取第一节
            Section section = document.Sections[0];

            //删除第四段
            section.Paragraphs.RemoveAt(3);

            //保存文档
            document.SaveToFile("删除指定段落.docx", FileFormat.Docx2016);
        }
    }
}

C# 删除Word中的所有段落

ParagraphCollection 类的 Clear() 方法可以直接删除指定section中所有段落,要删除文档每一节中的所有段落,可以通过循环实现。具体代码如下:

using Spire.Doc;

namespace RemoveAllParagraphs
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //加载Word文档
            Document document = new Document();
            document.LoadFromFile("南极洲.docx");

            //遍历所有节
            foreach (Section section in document.Sections)
            {
                //删除段落
                section.Paragraphs.Clear();
            }

            //保存文档
            document.SaveToFile("删除所有段落.docx", FileFormat.Docx2016);
        }
    }
}

C# 删除Word中的空白段落

删除空白段落需要先遍历每一节中的所有段落并判断其中是否包含内容,如果为空白行则通过DocumentObjectCollection.Remove() 方法将其删除。具体代码如下:

using Spire.Doc;
using Spire.Doc.Documents;
using System;

namespace RemoveEmptyLines
{
    class Program
    {

        static void Main(string[] args)
        {

            //加载Word文档
            Document doc = new Document(); 
            doc.LoadFromFile("南极洲1.docx");

            //遍历所有段落
            foreach (Section section in doc.Sections)
            {
                for (int i = 0; i < section.Body.ChildObjects.Count; i++)
                {
                    if (section.Body.ChildObjects[i].DocumentObjectType == DocumentObjectType.Paragraph)
                    {
                        //判断当前段落是否为空白段落
                        if (String.IsNullOrEmpty((section.Body.ChildObjects[i] as Paragraph).Text.Trim()))
                        {
                            //删除空白段落
                            section.Body.ChildObjects.Remove(section.Body.ChildObjects[i]);
                            i--;
                        }
                    }

                }
            }

            //保存文档
            doc.SaveToFile("删除空白行.docx", FileFormat.Docx2016);

        }
    }
}

更多功能示例,可点击:Spire.Doc for .NET 中文教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值