Word替换操作

标签: word Aspose 模板
647人阅读 评论(0) 收藏 举报
分类:

Program.cs代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using Aspose.Words;
namespace WordDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var dic = new Dictionary<string, string>();
            dic.Add("姓名", "杨幂");
            dic.Add("学历", "本科");
            dic.Add("联系方式", "18862100000");
            dic.Add("邮箱", "8271111111@qq.com");
            dic.Add("头像", ".//1.jpg");
            //使用书签操作
            Document doc = new Document(".//1.doc");
            DocumentBuilder builder = new DocumentBuilder(doc);
            foreach (var key in dic.Keys)
            {
                builder.MoveToBookmark(key);
                if (key != "头像")
                {
                    builder.Write(dic[key]);
                }
                else
                {
                    builder.InsertImage(dic[key]);
                }
            }
            doc.Save("书签操作.doc");//也可以保存为1.doc 兼容03-07
            Console.WriteLine("已经完成书签操作");





            //使用特殊字符串替换
            doc = new Document(".//2.doc");
            foreach (var key in dic.Keys)
            {
                if (key != "头像")
                {
                    var repStr = string.Format("&{0}&", key);
                    doc.Range.Replace(repStr, dic[key], false, false);
                }
                else
                {
                    Regex reg = new Regex("&头像&");
                    doc.Range.Replace(reg, new ReplaceAndInsertImage(".//1.jpg"), false);
                }
            }
            doc.Save("字符串替换操作.doc");//也可以保存为1.doc 兼容03-07
            Console.WriteLine("已经完成特殊字符串替换操作");
            Console.ReadKey();
        }
    }

    public class ReplaceAndInsertImage : IReplacingCallback
    {
        /// <summary>
        /// 需要插入的图片路径
        /// </summary>
        public string url { get; set; }

        public ReplaceAndInsertImage(string url)
        {
            this.url = url;
        }

        public ReplaceAction Replacing(ReplacingArgs e)
        {
            //获取当前节点
            var node = e.MatchNode;
            //获取当前文档
            Document doc = node.Document as Document;
            DocumentBuilder builder = new DocumentBuilder(doc);
            //将光标移动到指定节点
            builder.MoveTo(node);
            //插入图片
            builder.InsertImage(url);
            return ReplaceAction.Replace;
        }
    }
}

运行结果如图:

这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述

查看评论

使用POI替换word中的特定字符/文字)【改进】

package com.xfzx.test.POI.main; import java.io.File; import java.io.FileInputStream; import java.io...
  • hintcnuie
  • hintcnuie
  • 2014-04-17 15:03:56
  • 22027

NPOI读取模板并且生成新模板

sender, EventArgs e) { FileStream file = new FileStream(Server.MapPath("template/"...
  • fox123871
  • fox123871
  • 2012-02-17 14:30:54
  • 5902

NPOI创建DOCX常用操作

NPOI创建DOCX常用操作 1、  创建文档 XWPFDocument m_Docx = new XWPFDocument(); 2、  页面设置            //1‘=144...
  • gltide
  • gltide
  • 2014-10-09 13:27:57
  • 14769

c#操作word2007,使用书签替换制作报表

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Micr...
  • xuxx1976
  • xuxx1976
  • 2012-08-02 10:13:51
  • 666

c#调用word com组件 替换书签套打

c#调用word com组件 替换书签套打
  • jelenyoung
  • jelenyoung
  • 2015-05-08 14:38:32
  • 1529

c#对Aspose.Word替换书签内容的简单封装

辅助类1  json和datatable互转:   using System; using System.Collections.Generic; using System.Linq; using S...
  • jelenyoung
  • jelenyoung
  • 2015-05-08 17:32:55
  • 4488

c#调用Aspose.Word组件操作word 插入文字/图片/表格 书签替换套打

由于NPOI暂时没找到书签内容替换功能,所以换用Apose.Word组件. using System; using System.Collections.Generic; using System.C...
  • jelenyoung
  • jelenyoung
  • 2015-05-08 15:08:50
  • 5570

Aspose.words之IReplacingCallback接口的应用

公司因为项目需要, 需要使用Word作为模板。在使用过程踩了一些坑, 记录一下....
  • lqzkcx3
  • lqzkcx3
  • 2017-05-08 14:59:41
  • 231

WPF之修改变色,回滚功能的实现

时隔多年,居然会写一篇关于.NET, 而且还是WPF的。
  • lqzkcx3
  • lqzkcx3
  • 2017-12-02 16:47:30
  • 90

aspose.words 操作word生成试卷

最近做了一个在线组卷的项目。主要功能实现word排版、预览,生成试卷。刚开始涉及到word操作一心想到的就是 office COM组件 来操作word 。大概两周时间就写好整个系统的代码。然后就开始反...
  • fraing
  • fraing
  • 2013-05-29 16:18:46
  • 18127
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 146万+
    积分: 2万+
    排名: 494
    博客专栏
    文章分类
    微信公众号