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. CentOS7终端的分辨率和字体修改

    本文转贴自https://blog.csdn.net/u010566813/article/details/40502819 一.修改分辨率 修改/boot/grub2/grub.cfg 添加如上,具 ...

  2. BZOJ 2169

    $f_{ij}$ 表示加入 $i$ 条边, $j$ 个点的度数是奇数的方案数,然后暴力 #include<bits/stdc++.h> using namespace std; #defi ...

  3. 关于 Mybatis 设置懒加载无效的问题

    看了 mybatis 的教程,讲到关于mybatis 的懒加载的设置: 只需要在 mybatis 的配置文件中设置两个属性就可以了: <settings> <!-- 打开延迟加载的开 ...

  4. 蓝鲸单机安装mysql问题记录

    1.注意默认启动用户为mysql 2.由于执行指令用的root,有些文件会生成为root用户 3.注意将datadir basedir  socket dir  修改称mysql  chown mys ...

  5. 关于部署php遇到的坑

    业务突然要启动一个久不使用的PHP项目, 发现部署到centos7上后 各种报错 就是不行. 我怀疑是apache或者php问题 就重新安装 编译安装也试过就是不行. 只能按笨办法 在测试环境安装了a ...

  6. 201771010126 王燕《面向对象程序设计(java)》第十八周学习总结

    实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设 ...

  7. Charles抓包软件简介

    Charles简介: Charles是一款抓包神器,因为他是基于 java 开发的,所以跨平台,Mac.Linux.Window下都是可以使用的,确保安装之前已经安装了JDK.Charles官网地址: ...

  8. SQL、索引

    (二)数据库索引 数据库索引是用于提高数据库表的数据访问速度的. 数据库索引的特点: a)避免进行数据库全表的扫描,大多数情况,只需要扫描较少的索引页和数据页,而不是查询所有数据页.而且对于非聚集索引 ...

  9. emWin智能家居主界面设计,含uCOS-III和FreeRTOS两个版本

    第6期:智能家居主界面设计配套例子:V6-910_STemWin提高篇实验_智能家居主界面设计(uCOS-III)V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS) 例程下 ...

  10. Python 爬虫入门(一)——爬取糗百

    爬取糗百内容 GitHub 代码地址https://github.com/injetlee/Python/blob/master/qiubai_crawer.py 微信公众号:[智能制造专栏],欢迎关 ...