c#使用DocX添加多级标题

  

博客转移到 http://jacean.github.io/ 继续分享编程经验

 

先上效果。可以生成多级标题,但是不能生成1,1.1,1.2这样的自动序列,

只是这样的效果。

实现方法是给Paragraph增加一个扩展函数来设置它的格式。比如Heading1,Heading2之类。

我的插入段函数有两个重载,一个是插入正常文本,一个是插入标题,需要提供标题级数。

代码如下:

 1         public static void insertParagraph(string docx,string content,int level)
 2         {
 3             using (DocX document = DocX.Load(docx))
 4             {
 5                 Paragraph pTitle = document.InsertParagraph();               
 6                 pTitle.Append(content).Heading(level).Color(Color.Black);               
 7                 document.Save();
 8             }            
 9         }             
10 
11         public static void insertParagraph(string docx, string content)
12         {
13             using (DocX document = DocX.Load(docx))
14             {
15 
16                 Paragraph pTitle = document.InsertParagraph();               
17                 pTitle.Append(content);
18                 
19                 document.Save();
20             }
21         }
22         public static Paragraph Heading(this Paragraph paragraph,int level)
23         {
24             paragraph.StyleName = "Heading"+level.ToString();
25             paragraph.ListItemType = ListItemType.Numbered;              
26             return paragraph;
27         }

 

还有一点需要注意的是,如果在paragraph.append(content),改成appendline的话,会多出现换行符,尽量别用就好。

posted @ 2015-12-19 11:36  jacean  阅读(780)  评论(0编辑  收藏  举报