用C#操作word替换字符,用spire

这两天想写个小程序,是用C#操作word文档的。许多人都对微软本身的解决方案COM组件十分不看好,比如需要本机安装office等等,总之吐槽很多,直接放弃。

搜到一个国产的npoi库,据说操作简单功能强大,下载试用,发现操作excel还是不错的,但word不好使。而且官方网站文档不全,更新缓慢。

尝试文本替换,总是出错。加了官方群,问了问题,没人回应。

网上又找了找,发现有个spire的库不错,也有免费的dll可以用。(转个评价:这是一个免费又强大的C# word 组件,它不需要 Word automatio即可运行,并且任何第三方的功能都囊括)

试用了一下,非常简单圆满地解决了我的问题。

 

 

代码如下,简洁易懂:

 

 private void button1_Click(object sender, EventArgs e)
        {
            var doc = new Document();
            doc.LoadFromFile("d:\\ht.docx");

            doc.Replace("[<单位名称>]", tbDwmc.Text, false, false);
            doc.Replace("[<开户行>]", tbKhh.Text, false, false);
            doc.Replace("[<银行账号>]", tbYhzh.Text, false, false);
            doc.Replace("[<单位地址>]", tbAddress.Text, false, false);
            doc.Replace("[<单位电话>]", tbTel.Text, false, false);

            var guid = Guid.NewGuid().ToString();
            doc.SaveToFile("s" + guid + ".docx", FileFormat.Docx);
            doc.Close();

            Process.Start("s" + guid + ".docx");
        }

 

posted @ 2017-06-23 16:55  每天来逛逛  阅读(2831)  评论(3编辑  收藏  举报