用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/

时间: 2024-10-18 20:51:04

用C#操作word替换字符,不用npoi,改用spire的相关文章

XDocReport 的简单使用 操作word 替换变量

XDocReport 主要是操作word,在word模版中定义变量并替换变量.(在word中还可替换动态图片,可进行循环.判断操作,可定义指令扩展程序,可转成pdf文件 等) 1,模版变量定义. 新建word,Ctrl + F9   编辑域   选择MergeField  编辑域代码 如图: 2,代码 /** * 根据模板导出word文件 * * @param reportData ReportData对象为数据对象,里面存储Map 数据 * @param templateName 模板文件路径

Linux下vi替换字符命令操作实例

在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參考. 本文中被操作的文件为TestFile.txt,当中的内容例如以下: [email protected]:~/zhouzx/Test> cat TestFile.txt 12345678907890 ABCDABCDEFGHIJ 12345^&*()() 98765432103210 abc

.net 使用 Aspose.Words 进行 Word替换操作

.net 使用 Aspose.Words 进行 Word替换操作

C# 操作Word书签(二)——读取、替换Word书签

在上一篇文章中介绍了关于C#如何插入Word书签.插入图片或表格到word.删除word书签等内容,本篇文章将继续介绍C#操作word书签的方法.下面的示例中将介绍 C# 如何读取Word书签 C# 如何替换Word书签 工具使用 Spire.Doc for .NET 6.1 Visual Studio 示例代码 原文档中的书签内容: 1. 读取word书签 [C#] using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fiel

字符串的操作:取字符, 替换字符,字符拼接,转换,插入字符等

取字符 1.characterAtIndex:通过指定下标取字符 例子 NSString *str [email protected]"y玩anglin"; NSLog(@"%C", [str characterAtIndex:1]); 结果: 2015-07-20 17:37:56.737 OC练习[1620:98525] 玩 *在这里可以注意一下:%C可以输出汉字,而%c只能输出字母 2.substringFromIndex :从哪开始截取,到最后,包括下标位置

python操作word(改课文格式)【最终版】

python操作word的一些方法,前面写了一些感悟,有点跑题,改了下题目,方便能搜索到.心急的可以直接拉到最后看代码,我都加了比较详细的注释. 从8.3号早上9点,到8.8号下午5点半下班,终于把这个python代码写出来了,这五天简直是废寝忘食(扯淡),每天查资料到半夜2点(其实是天太热,洗完澡又晾干就要一个多小时了,在这里吐槽下今年的夏天,2016年北京的7月份简直了,平生第一次长痱子,连去年都没用过的凉席都翻出来了). 好吧,扯得有点远了.因为工作需要,要批量修改一批rtf文件里的文字格

java调用com组件操作word使用总结(jacob)

ava调用com组件操作word使用总结(jacob) 简单描述 在此处输入简单摘要 特别声明:使用java-com技术可以完成任何VBA可以完成的office文档操作; 一.准备工作 先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的.这是一个开始于 1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献. Jacob下载地址: http://s

C#操作Word Aspose.Words组件介绍及使用—基本介绍与DOM概述

1.基本介绍 Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式.使用Aspose.Words可以在不使用Microsoft.Word的情况下生成.修改.转换和打印文档.在项目中使用Aspose.Words可以有以下好处. 1.1丰富的功能集 其丰富的功能特性主要有以下4个方面: 1)格式转换.Aspose.Words具有高质量的文件格式转

易语言操作word源码/支持库/模块源码

易语言操作word的源码,可以插入图片,删除word文档中字符等操作 插入表格等,可以查找+定位+替换 下载地址:https://6yunpan.pipipan.com/fs/17009107-357740292 原文地址:https://www.cnblogs.com/xiazai/p/10630826.html