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. }