c#使用DocX添加多级标题

时间:2024-01-19 18:07:44

  

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

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

c#使用DocX添加多级标题

只是这样的效果。

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

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

代码如下:

         public static void insertParagraph(string docx,string content,int level)
{
using (DocX document = DocX.Load(docx))
{
Paragraph pTitle = document.InsertParagraph();
pTitle.Append(content).Heading(level).Color(Color.Black);
document.Save();
}
} public static void insertParagraph(string docx, string content)
{
using (DocX document = DocX.Load(docx))
{ Paragraph pTitle = document.InsertParagraph();
pTitle.Append(content); document.Save();
}
}
public static Paragraph Heading(this Paragraph paragraph,int level)
{
paragraph.StyleName = "Heading"+level.ToString();
paragraph.ListItemType = ListItemType.Numbered;
return paragraph;
}

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