Spire.Doc word模板

 Spire.Doc组件的引用就不说了,可以在官网注册下载免费版

也可在https://download.csdn.net/download/m0_37639018/11267059处下载

Document document = new Document(path);
//实例化BookmarksNavigator类
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); 

foreach (Bookmark book in document.Bookmarks)
{
    if (book.Name == "code")
        ReplaceBookMak(bookmarkNavigator, book.Name, "code");
    else if (book.Name == "name")
        ReplaceBookMak(bookmarkNavigator, book.Name, "name");
}

插入文本到书签,也可替换书签的原内容

//替换书签
private void ReplaceBookMak(BookmarksNavigator bookmarkNavigator, string markName, string value)
{
    //定位到书签“bookmark1”所在段落的位置
    bookmarkNavigator.MoveToBookmark(markName, true, true);
    //删除原有书签位置的内容
    //bookmarkNavigator.DeleteBookmarkContent(true);
    //用新添加段落的内容替换掉原书签的内容并保留格式  
    //bookmarkNavigator.ReplaceBookmarkContent(value, true);/
    bookmarkNavigator.InsertText(value, true);
}

对于可选方框,其实实质上也是文本,可以将书签内容替换为“□”、“☑”,也可以利用特殊编码。

可利用TextRange设置好字体wedings2,才能显示正确。

很多时候,word中会使用表格

//获取word模板中的表格
var tb1 = document.Sections[0].Tables[1];
//创建列(若仅填充的话,不用创建)
tb1.AddRow().AddCell();
tb1.Rows[0].Cells[0].AddParagraph().AppendText("第一行第一列");

获取书签内容

//初始化BookmarkNavigator类对象
BookmarksNavigator navigator = new BookmarksNavigator(document);

//定位到指定书签位置,获取书签位置的文档内容
navigator.MoveToBookmark("bookmark1");
TextBodyPart textBodyPart = navigator.GetBookmarkContent();

//遍历书签内容中的子项目,并将文本信息提取至string类型变量中
string text = null;
foreach (var item in textBodyPart.BodyItems)
{
    if (item is Paragraph)
    {
        foreach (var childObject in (item as Paragraph).ChildObjects)
        {
            if (childObject is TextRange)
            {
                text += (childObject as TextRange).Text;
            }
        }
    }
}

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值