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

DocX开源WORD操作组件的学习系列二的更多相关文章

  1. DocX开源WORD操作组件的学习系列四

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

  2. DocX开源WORD操作组件的学习系列三

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

  3. DocX开源WORD操作组件的学习系列一

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

  4. 开源word操作组件DocX的记录

    开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...

  5. 使用开源word操作组件DocX的记录

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  6. 开源Word读写组件DocX 的深入研究和问题总结

    一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...

  7. [.NET] 开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc

    开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc [博主]反骨仔 [原文地址]http://www.cnblogs.com/li ...

  8. 开源RabbitMQ操作组件

    开源RabbitMQ操作组件 对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP ...

  9. 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)

    项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...

随机推荐

  1. [JZOJ3615]【NOI2014模拟】数列(平面几何+二维线段树)

    Description 给定一个长度为n的正整数数列a[i]. 定义2个位置的f值为两者位置差与数值差的和,即f(x,y)=|x-y|+|a[x]-a[y]|. 你需要写一个程序支持2种操作(k都是正 ...

  2. Catalan 数列的性质及其应用(转载)

    转自:http://lanqi.org/skills/10939/ 卡特兰数 — 计数的映射方法的伟大胜利 发表于2015年11月8日由意琦行 卡特兰(Catalan)数来源于卡特兰解决凸$n+2$边 ...

  3. go-mod 入门

    Q群有人问go mod 问题,自己也忘了些.顺便再整理下. GO111MODULE可以设置为三个字符串值之一:off,on或auto(默认值). off 则go命令从不使用新模块支持.它查找vendo ...

  4. 【腾讯海纳】系统未发布时如何获取获取property_id在本地进行测试?

    有现成https协议域名使用者,可忽略此文. 直接先上图,明白的人看一眼图片就知道怎么拿了,如下所示: 解释说明: 在完成添加套件,以及测试应用的前提下,按如下操作流程: 1.访问路径:登录“海纳开发 ...

  5. Tips_关闭按钮的简单实现 && Felx实现水平垂直居中

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. node 重新安装依赖模块

    rm -rf node_modules  rm package-lock.json  npm cache clear --force npm install

  7. vue 验证电话

    <el-form :model="orderaddForm" :rules="rulesPhone" ref="orderaddForm&quo ...

  8. anaconda安装opencv(python)

    1.win10 win10没有安装python,只安装了anaconda,然后使用pip安装opencv-python,版本很新,opencv_python4.0.0的. 网速有点莫名其妙,时快时慢 ...

  9. Data Center手册(4):设计

    基础架构 拓扑图 Switching Path L3 routing at aggregation layer L2 switching at access layer L3 switch融合了三种功 ...

  10. 数据库索引使用数据结构及算法, 及MySQL不同引擎索引实现

    摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...