C# 复制Word(复制全部或部分内容、页眉页脚)

2026-02-14 06:04:51

1、1.复制全部文档内容

【C#】

using Spire.Doc;

namespace CopyWord_Doc

{

    class Program

    {

        static void Main(string[] args)

        {

            //新建Word文档1,用于加载源文档

            Document sourceDoc = new Document("sample.docx");

            //新建Word文档2,用于加载复制内容的目标文档

            Document destinationDoc = new Document("target.docx");

            //遍历源word文档中的所有section,并把内容复制到目标word文档

            foreach (Section sec in sourceDoc.Sections)

            {

                foreach (DocumentObject obj in sec.Body.ChildObjects)

                {

                    destinationDoc.Sections[0].Body.ChildObjects.Add(obj.Clone());

                }

            }

            //保存并打开复制的目标文档

            destinationDoc.SaveToFile("target.docx", FileFormat.Docx2010);

            System.Diagnostics.Process.Start("target.docx");

        }

    }

}

C# 复制Word(复制全部或部分内容、页眉页脚)

C# 复制Word(复制全部或部分内容、页眉页脚)

C# 复制Word(复制全部或部分内容、页眉页脚)

2、2. 复制部分内容(带格式复制)

【C#】

using Spire.Doc;

using Spire.Doc.Documents;

namespace CopyPara_Doc

{

    class Program

    {

        static void Main(string[] args)

        {

            //创建Word文档1,加载源文档

            Document doc1 = new Document();

            doc1.LoadFromFile("sample.docx");

            //创建一个空白文档,作为复制内容的目标文档

            Document doc2 = new Document();

            //获取Word文档1第一节的第一段和第二段

            Section s = doc1.Sections[0];

            Paragraph p1 = s.Paragraphs[0];

            Paragraph p2 = s.Paragraphs[1];

            //在Word文档2中添加Section,并将文档1中的第一、二段的内容复制到文档2中

            Section s2 = doc2.AddSection();

            Paragraph NewPara1 = (Paragraph)p1.Clone();

            s2.Paragraphs.Add(NewPara1);

            Paragraph NewPara2 = (Paragraph)p2.Clone();

            s2.Paragraphs.Add(NewPara2);

            //保存并打开复制后的文档

            doc2.SaveToFile("copy.docx", FileFormat.Docx2010);

            System.Diagnostics.Process.Start("copy.docx");

        }

    }

}

C# 复制Word(复制全部或部分内容、页眉页脚)

C# 复制Word(复制全部或部分内容、页眉页脚)

3、3.复制页眉或页脚

【C#】

using Spire.Doc;

namespace CopyHeaderAndFooter_Doc

{

    class Program

    {

        static void Main(string[] args)

        {

            //新建Word文档1,并加载带页眉的源文档

            Document doc1 = new Document();

            doc1.LoadFromFile("test1.docx");

            //获取文档1的页眉

            HeaderFooter Header = doc1.Sections[0].HeadersFooters.Header;

            //新建文档2,并加载目标文档

            Document doc2 = new Document("test2.docx");

            //遍历文档2中的所有Section

            foreach (Section section in doc2.Sections)

            {

                foreach (DocumentObject obj in Header.ChildObjects)

                {

                    //将复制的页眉对象添加到section

                    section.HeadersFooters.Header.ChildObjects.Add(obj.Clone());

                }

            }

            //保存并打开文档

            doc2.SaveToFile("copyHeader.docx", FileFormat.Docx2013);

            System.Diagnostics.Process.Start("copyHeader.docx");

        }

    }

}

C# 复制Word(复制全部或部分内容、页眉页脚)

C# 复制Word(复制全部或部分内容、页眉页脚)

猜你喜欢