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 = ; index < document.Bookmarks.Count; index++)
{
var item = document.Bookmarks[index];
Console.WriteLine(item.Name, item.Paragraph.Text);
}
//修改书签TEXT
for (var index = ; 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()
.Color(WindowsColor.Blue)
.Bold();
p.InsertHorizontalLine("double", , , "auto");
Paragraph p1 = document.InsertParagraph();
p1.InsertHorizontalLine("double", , , "red");
Paragraph p2 = document.InsertParagraph();
p2.InsertHorizontalLine("single", , , "red");
Paragraph p3 = document.InsertParagraph();
p3.InsertHorizontalLine("triple", , , "blue");
Paragraph p4 = document.InsertParagraph();
p4.InsertHorizontalLine("double", , , "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(, , )).Append(".");
p1.AppendLine("本地的绝对路径 :").AppendHyperlink(link2).Color(WindowsColor.FromArgb(, , )).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().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.
}