标签:
DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的。DocX使得操作word非常轻便,有利于减轻开发负担,提升程序效率。DocX在Codeplex和Github上都有开源。
可以在http://docx.codeplex.com/releases下载获取,也可以直接利用NuGet获取。
Install-Package DocX
用DocX需要.NET framework4.0和VS2010或更高版本。
DocX document = DocX.Create(@"docs\HelloWorld.docx")
DocX document = DocX.Load(@"docs\HelloWorld.docx")
var paragraph = document.InsertBookmark("firstBookmark");
如果知道一个书签的书签名,可以直接得到。
var b = document.Bookmarks["书签1"];
document.Bookmarks["书签1"].SetText("Hello World!");
document.Bookmarks["书签2"].Paragraph.InsertPicture(@"pic.jpg");
document.Bookmarks["书签3"].Paragraph.InsertTableAfterSelf(t);//t是Table类型
document.InsertSectionPageBreak();//分节符
Paragraph p = document.InsertParagraph(); p.InsertPageBreakAfterSelf();//分页符
1 static void AddToc() 2 { 3 Console.WriteLine("\tAddToc()"); 4 5 using (var document = DocX.Create(@"docs\Toc.docx")) 6 { 7 document.InsertTableOfContents("目录", TableOfContentsSwitches.O | TableOfContentsSwitches.U | TableOfContentsSwitches.Z | TableOfContentsSwitches.H, "Heading2"); 8 var h1 = document.InsertParagraph("Heading 1"); 9 h1.StyleName = "Heading1"; 10 document.InsertParagraph("Some very interesting content here"); 11 var h2 = document.InsertParagraph("Heading 2"); 12 document.InsertSectionPageBreak(); 13 h2.StyleName = "Heading1"; 14 document.InsertParagraph("Some very interesting content here as well"); 15 var h3 = document.InsertParagraph("Heading 2.1"); 16 h3.StyleName = "Heading2"; 17 document.InsertParagraph("Not so very interesting...."); 18 19 document.Save(); 20 } 21 }
Image img = document.AddImage(@"pic.jpg"); Picture pic = img.CreatePicture(); Paragraph p1 = document.InsertParagraph(); p1.InsertPicture(pic);
Table t = document.AddTable(3, 4);//三行四列
Table t = document.AddTable(3,4); t.MergeCellsInColumn(0, 0, 1);//public void MergeCellsInColumn(int columnIndex, int startRow, int endRow);竖向合并 t.Rows[0].MergeCells(1, 2);//public void MergeCells(int startIndex, int endIndex);横向合并
注:合并单元格的时候注意,最好先竖向合并,再横向合并,以免报错,因为横向合并会改变列数。
开源网址:http://docx.codeplex.com/ (里面的示例代码很适合初学者学习)
高质量博客推荐:http://www.cnblogs.com/asxinyu/archive/2013/02/22/2921861.html#_label3
利用DocX操作word的开源小项目:https://github.com/hahahuahai/create-word-by-DocX
标签:
原文地址:http://www.cnblogs.com/Leo_wl/p/5828640.html