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 = ; 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操作组件的学习系列二的更多相关文章
- DocX开源WORD操作组件的学习系列四
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- DocX开源WORD操作组件的学习系列三
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- DocX开源WORD操作组件的学习系列一
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- 开源word操作组件DocX的记录
开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...
- 使用开源word操作组件DocX的记录
1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...
- 开源Word读写组件DocX 的深入研究和问题总结
一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...
- [.NET] 开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc
开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc [博主]反骨仔 [原文地址]http://www.cnblogs.com/li ...
- 开源RabbitMQ操作组件
开源RabbitMQ操作组件 对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP ...
- 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)
项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...
随机推荐
- [POJ1273][USACO4.2]Drainage Ditches (网络流最大流)
题意 网络流最大流模板 思路 EK也不会超时 所以说是一个数据比较水的模板题 但是POJ有点坑,多组数据,而且题目没给 哭得我AC率直掉 代码 用的朴素Dinic #include<cstdio ...
- 微信小程序之微信登陆 —— 微信小程序教程系列(20)
简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...
- 201771010126 王燕《面向对象设计 java》第十五周实验总结
第一部分 理论部分 ◼ JAR文件◼ 应用程序首选项存储◼ Java Web Start JAR文件: 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GU ...
- 干掉safedog命令
sc delete safedogguardcenter shutdown -r -t 00 两条命令搞定
- Servlet 自定义标签
自定义标签 1)用户定义的一种jsp标记,当一个含有自定义标签的jsp页面被jsp引擎编译成servlet时,tag标签被转化成了对一个称为 标签处理类 的对象的操作.于是,当jsp页面被jsp引擎转 ...
- ES 6 proimse &&iterator &&Generator函数 &&async
1.proimse 异步调用function getData(){ let promise =new Promise((resolve,reject)); let xmlHttp =new XMLHt ...
- MVC是什么
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 ...
- [转]Understanding OpenStack Authentication: Keystone PKI
The latest stable release of OpenStack, codenamed Grizzly, revolutionizes the way user authenticatio ...
- 大数据BI框架知识点备注
将这段时间的一些基于大数据方案的BI知识点暂时做些规整,可能还存在较多问题,后续逐步完善修改. 数据模型: 1.星型模型和雪花模型,同样是将业务表拆分成事实表和纬度表:例如一个员工数据表,可以拆分为员 ...
- 深入理解JVM(七)——性能监控工具
前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程.方法.本文就将介绍利用性能监控工具,帮助开 ...