仅为记录学习工作而写,如果有所贡献,荣幸不已。
工作中需要对一篇word模板进行参数化,所有用到了Spire.Word这个库。
获取Word文档,通过路径方式。
// 获取Word文档,通过路径方式。
public void GetWord()
{
_doc = new Document();
_doc.LoadFromFile(filePath);
GetAllParagraph();
}
获取word文档中的所有段落
// 获取word文档中的所有段落
public void GetAllParagraph()
{
_sec = _doc.Sections[0];
_allPara = _sec.Paragraphs;
}
根据num索引依次获取各个段落(没有颜色筛选条件)
// 根据num索引依次获取各个段落(没有颜色筛选条件)
public Paragraph GetParagraph(int num)
{
if (num > _allPara.Count - 1) return _allPara[_allPara.Count - 1];
var paragraph = _allPara[num];
if (paragraph.Text.Equals(string.Empty)) return null;
else return paragraph;
}
根据num索引依次获取各个段落(有颜色筛选条件)
// 根据num索引依次获取各个段落(有颜色筛选条件)
public Paragraph GetAParagraph(int num)
{
if (num > _allPara.Count - 1) return _allPara[_allPara.Count - 1];
var paragraph = _allPara[num];
int count = 0;
foreach (var obj in paragraph.ChildObjects)
{
if (!obj.Equals(string.Empty) && obj is TextRange)
{
TextRange text = (TextRange)obj;
var color = text.CharacterFormat.TextColor;
if (!color.IsEmpty) break;
else count++;
}
}
paragraph.Text.Trim();
if (count == 0 || paragraph.Text