您的位置:首页 > 编程语言 > C#

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

2015-04-04 23:37 786 查看
这两天想写个小程序,是用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");
}


扯个鸡毛蒜皮的事:

晚上很晚了,npoi官方群里终于有人说话了。看到有一哥们说npoi不好用,我就接了一句说已换spire。此时估计是刺激到了npoi的群主,赫然露面了,先是说在群里问问题不付钱凭什么人搭理你,随后又点出我的问题是智商不够。我迅速回应:骂人不揭短,智商你妈逼哦。

事实上,程序员们辛苦劳动收费是应该的。写点东西不容易,腰酸脖子疼的,收费这一点我非常同意。可你的官方群里,不就是让用户交流的吗?问个问题,只是求高人点拨一下,给个方向或者关键字啥的就已足够。你他妈上来就谈钱,伤感情不说,重点是——竟然被这孙子看出来我智商不高,真是太窘迫啦。

后来,我就被踢了。祝npoi继续发扬光大。

附上spire的链接:https://freeword.codeplex.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: