zoukankan      html  css  js  c++  java
  • 用C#操作word替换字符,不用npoi,改用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");
            }
    

    扯个鸡毛蒜皮的事:

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

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

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

    附上spire的链接:https://freeword.codeplex.com/

  • 相关阅读:
    解决<c:if>无else的问题
    极限挑战----3小时完成OA系统(失败)
    jstl的if标签和forEach标签的解析
    EL表达式
    JSP静态包含和动态包含的区别
    JSP九大隐式对象和四大域对象-----面试
    mybatis学习01--基础认识
    怎样将本地的代码上传到github
    随机数的生成,静态导入,可变参数的方法,方法重载,浮点数的比较
    zookeeper学习2
  • 原文地址:https://www.cnblogs.com/dapolo/p/4393205.html
Copyright © 2011-2022 走看看