DocX开源WORD操作组件的学习系列二
Posted 赵杰迪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. }
以上是关于DocX开源WORD操作组件的学习系列二的主要内容,如果未能解决你的问题,请参考以下文章
Python如何操作word文档,Python-docx类库的使用