当前位置: 首页 > news >正文

DocX开源WORD操作组件的学习系列二

DocX学习系列

DocX开源WORD操作组件的学习系列一 :  http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.html

DocX开源WORD操作组件的学习系列二 :  http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_csharp_005_docx2.html

DocX开源WORD操作组件的学习系列三:  http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_csharp_006_docx3.html

DocX开源WORD操作组件的学习系列四:  http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_csharp_006_docx4.html

1 创建目录

1.1创建目录效果图

目录结构图

1.2创建目录代码:

   static void AddToc()
        {
            Console.WriteLine("\tAddToc()");

            using (var document = DocX.Create(@"docs\Toc2.docx"))
            {
              
                document.InsertTableOfContents("1 目录", TableOfContentsSwitches.O | TableOfContentsSwitches.U | TableOfContentsSwitches.Z | TableOfContentsSwitches.H, "Heading1");
               // document.InsertSectionPageBreak();//分页
                var h1 = document.InsertParagraph("2 测试1");
                h1.StyleName = "Heading1";
                document.InsertParagraph("Some very interesting content here");
                var h2 = document.InsertParagraph("3 测试2");
                h2.StyleName = "Heading1";
                document.InsertParagraph("Some very interesting content here as well");
                var h3 = document.InsertParagraph("3.1 测试3.1");
                h3.StyleName = "Heading2";
                var h4 = document.InsertParagraph("3.1.1 测试3.1.1");
                h4.StyleName = "Heading3";
                var h5 = document.InsertParagraph("4 测试4");
                h5.StyleName = "Heading1";
                document.InsertParagraph("Not so very interesting....");
                document.Save();
            }
        }

 2.添加书签

2.1添加书签效果图

2.2添加书签代码:

    private static void Bookmarks()
        {
            Console.WriteLine("\tBookmarks()");

            using (var document = DocX.Create(@"docs\Bookmarks.docx"))
            {
                //添加一个书签
                var paragraph = document.InsertBookmark("firstBookmark");
                //添加一个段落并填充文本
                var paragraph2 = document.InsertParagraph("This is a paragraph which contains a ");
                //给段落2尾部添加一个书签,名字为secondBookmark
                paragraph2.AppendBookmark("secondBookmark");
                //给段落2原有文本的基础上追加文本bookmark
                paragraph2.Append("bookmark");
                //将段落2的secondBookmark的书签位置插入文本handy
                paragraph2.InsertAtBookmark("handy ", "secondBookmark");

                paragraph2.ReplaceText("which","WHICH");
                //遍历书签
                for (var index = 0; index < document.Bookmarks.Count; index++)
                {
                    var item = document.Bookmarks[index];
                    Console.WriteLine(item.Name, item.Paragraph.Text);
                }
                //修改书签TEXT
                for (var index = 0; index < document.Bookmarks.Count; index++)
                {
                    var item = document.Bookmarks[ index];
                    item.SetText("书签" + index);
                    Console.WriteLine(item.Name, item.Paragraph.Text);
                }
                document.Save();
                Console.WriteLine("\tCreated: docs\\Bookmarks.docx\n");

            }
        }

 3.插入各种分隔符

        static void HelloWorldInsertHorizontalLine()
        {
            Console.WriteLine("\tHelloWorldInsertHorizontalLine()");

            // Create a new document.
            using (DocX document = DocX.Create(@"docs\HelloWorldInsertHorizontalLine.docx"))
            {
                // Insert a Paragraph into this document.
                Paragraph p = document.InsertParagraph();

                // Append some text and add formatting.
                p.Append("Hello World!^011Hello World!")
                .Font(new Font("Times New Roman"))
                .FontSize(32)
                .Color(WindowsColor.Blue)
                .Bold();
                p.InsertHorizontalLine("double", 6, 1, "auto");
                Paragraph p1 = document.InsertParagraph();
                p1.InsertHorizontalLine("double", 6, 1, "red");
                Paragraph p2 = document.InsertParagraph();
                p2.InsertHorizontalLine("single", 6, 1, "red");
                Paragraph p3 = document.InsertParagraph();
                p3.InsertHorizontalLine("triple", 6, 1, "blue");
                Paragraph p4 = document.InsertParagraph();
                p4.InsertHorizontalLine("double", 3, 10, "red");
                // Save this document to disk.
                document.Save();
                Console.WriteLine("\tCreated: docs\\HelloWorldInsertHorizontalLine.docx\n");
            }
        }

4.插入超链接

 private static void Hyperlinks()
        {
            // Create a document.
            using (DocX document = DocX.Create(@"docs\Hyperlinks.docx"))
            {
              
                // Add a hyperlink into the document.
                Hyperlink link1 = document.AddHyperlink("百度一下", new Uri("http://www.baidu.com"));
                Hyperlink link2 = document.AddHyperlink("TOC文档",new Uri("file:///" + @"E:\soft\DocX-master\Examples\bin\Debug\docs\Toc2.docx".Replace("\\", "/")));
                Uri uri = new Uri("http://www.baidu.com");
                Paragraph p1 = document.InsertParagraph();

                // Append content to the Paragraph
                p1.AppendLine("下面是2个超链接").Append(":").Bold();
                p1.AppendLine("百度的: ").AppendHyperlink(link1).Color(WindowsColor.FromArgb(5, 99, 193)).Append(".");
                p1.AppendLine("本地的绝对路径 :").AppendHyperlink(link2).Color(WindowsColor.FromArgb(5, 99, 193)).Append(".");
                p1.AppendLine();
                document.Save();
                Console.WriteLine("\tCreated: docs\\Hyperlinks.docx\n");
            }
        }

5.插入分页符合换行符

 private static void BreakPageLine()
        {
            Console.WriteLine("\tBreakPageLine()");
            // Create a new document.
            using (DocX document = DocX.Create(@"docs\BreakPageLine.docx"))
            {
                // Add Headers and Footers to this document.
             
                Paragraph p0 = document.InsertParagraph();
                p0.Append("Hello First line").Bold();
                p0.InsertPageBreakAfterSelf();
                var p1 = document.InsertParagraph("zhaojiedi");
                document.InsertSectionPageBreak();
                document.InsertParagraph("zhaojiedi2");
                document.InsertSection();
               var p2= document.InsertParagraph("zhaojiedi3");
                p2.AppendLine("zhaojiedi4");
                p2.AppendLine("zhaojiedi5");
                p2.AppendLine("zhaojiedi6");
                document.Save();
            }// Release this document from memory.
        }

 6.插入公式

  private static void Equations()
        {
            Console.WriteLine("\tEquations()");
            // Create a new document.
            using (DocX document = DocX.Create(@"docs\Equations.docx"))
            {
                // Insert first Equation in this document.
                Paragraph pEquation1 = document.InsertEquation("x = y+z");
                // Insert second Equation in this document and add formatting.
                Paragraph pEquation2 = document.InsertEquation("x = (y+z)/t").FontSize(18).Color(WindowsColor.Blue);
                // Save this document to disk.
                document.Save();
                Console.WriteLine("\tCreated: docs\\Equations.docx\n");
            }
        }

7.插入页眉页脚

        private static void HeadersAndFooters2()
        {
            Console.WriteLine("\tHeadersAndFooters()");

            // Create a new document.
            using (DocX document = DocX.Create(@"docs\HeadersAndFooters.docx"))
            {
                // Add Headers and Footers to this document.
                document.AddHeaders();
                document.AddFooters();

                // Force the first page to have a different Header and Footer.
                document.DifferentFirstPage = true;

                // Force odd & even pages to have different Headers and Footers.
                document.DifferentOddAndEvenPages = true;

                // Get the first, odd and even Headers for this document.
                Header header_first = document.Headers.first;
                Header header_odd = document.Headers.odd;
                Header header_even = document.Headers.even;

                // Get the first, odd and even Footer for this document.
                Footer footer_first = document.Footers.first;
                Footer footer_odd = document.Footers.odd;
                Footer footer_even = document.Footers.even;

                // Insert a Paragraph into the first Header.
                Paragraph p0 = header_first.InsertParagraph();
                p0.Append("Hello First Header.").Bold();

                // Insert a Paragraph into the odd Header.
                Paragraph p1 = header_odd.InsertParagraph();
                p1.Append("Hello Odd Header.").Bold();

                // Insert a Paragraph into the even Header.
                Paragraph p2 = header_even.InsertParagraph();
                p2.Append("Hello Even Header.").Bold();

                // Insert a Paragraph into the first Footer.
                Paragraph p3 = footer_first.InsertParagraph();
                p3.Append("Hello First Footer.").Bold();

                // Insert a Paragraph into the odd Footer.
                Paragraph p4 = footer_odd.InsertParagraph();
                p4.Append("Hello Odd Footer.").Bold();

                // Insert a Paragraph into the even Header.
                Paragraph p5 = footer_even.InsertParagraph();
                p5.Append("Hello Even Footer.").Bold();

                // Insert a Paragraph into the document.
                Paragraph p6 = document.InsertParagraph();
                p6.AppendLine("Hello First page.");

                // Create a second page to show that the first page has its own header and footer.
                p6.InsertPageBreakAfterSelf();

                // Insert a Paragraph after the page break.
                Paragraph p7 = document.InsertParagraph();
                p7.AppendLine("Hello Second page.");

                // Create a third page to show that even and odd pages have different headers and footers.
                p7.InsertPageBreakAfterSelf();

                // Insert a Paragraph after the page break.
                Paragraph p8 = document.InsertParagraph();
                p8.AppendLine("Hello Third page.");

                //Insert a next page break, which is a section break combined with a page break
                document.InsertSectionPageBreak();

                //Insert a paragraph after the "Next" page break
                Paragraph p9 = document.InsertParagraph();
                p9.Append("Next page section break.");

                //Insert a continuous section break
                document.InsertSection();

                //Create a paragraph in the new section
                var p10 = document.InsertParagraph();
                p10.Append("Continuous section paragraph.");

                // Save all changes to this document.
                document.Save();

                Console.WriteLine("\tCreated: docs\\HeadersAndFooters.docx\n");
            }// Release this document from memory.
        }

 

相关文章:

  • js获取屏幕大小,元素top值等等
  • STM32中assert_param的使用
  • sass/scss 和 less的区别
  • c#时间格式
  • Kali Linux Wine32英文字体不显示问题
  • Redirect和Forward
  • Android View 事件分发机制 源代码解析 (上)
  • 配置maven
  • NumPy 中的线性代数
  • 服务注册发现consul之二:在Spring Cloud中使用Consul实现服务的注册和发现
  • 装修除甲醛,这些方法真有那么神奇吗?
  • 正则表达式之基本概念
  • 知识图谱构建_百度文库
  • MySQL--8MySQL存储过程小结
  • akka模块
  • Centos6.8 使用rpm安装mysql5.7
  • create-react-app做的留言板
  • exports和module.exports
  • java小心机(3)| 浅析finalize()
  • js作用域和this的理解
  • LeetCode29.两数相除 JavaScript
  • opencv python Meanshift 和 Camshift
  • Rancher如何对接Ceph-RBD块存储
  • 闭包--闭包作用之保存(一)
  • 多线程事务回滚
  • 关于字符编码你应该知道的事情
  • 基于web的全景—— Pannellum小试
  • 聊聊redis的数据结构的应用
  • 如何合理的规划jvm性能调优
  • 我从编程教室毕业
  • 项目实战-Api的解决方案
  • 学习笔记:对象,原型和继承(1)
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​低代码平台的核心价值与优势
  • !$boo在php中什么意思,php前戏
  • #大学#套接字
  • (1)常见O(n^2)排序算法解析
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • .bashrc在哪里,alias妙用
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET性能优化(文摘)
  • .NET学习教程二——.net基础定义+VS常用设置
  • @Responsebody与@RequestBody
  • [ Algorithm ] N次方算法 N Square 动态规划解决