序言各位好啊,我是会编程的蜗牛,作为java开发者,有时候需要操作word或者excel。这里面比较常用的框架是POI,我之前用过POI来读写excel,也有用过alibaba easy excel来读写excel,还都挺好用的。不过对于word的操作就比较少了,基本的文本操作用poi应该也是可以实现的。但对于复杂的操作,像在word里面插入表格等,就有点力不从心了。今天介绍一款github上开源的框架,FreeSpire.Doc,它对于word的操作还是很方便,没有像POI那样需要写一大堆代码,非常简洁高效。本文来源:infoQ,作者:Geek_249eec,整理:会编程的蜗牛 当我们在编辑
2023-01-25一、redis中的数据类型1、redis列表(List)redis列表底层是一个双向链表。(1)从左边/右边插入一个或多个值lpush/rpush例如:(2)从左边/右边吐出一个值。值在键在,值光键亡lpop/rpop例如:(3)从key1列表右边吐出一个值,插入到key2列表左边rpoplpush(4)按照索引下标获得元素(从左到右)lrange(5)按照索引下标获得元素(从左到右)lindex例如:(6)获得列表长度llen例如:(7)在的后面插入插入值linsertbefore例如:插入后的数据(8)从左边删除n个value(从左到右)lrem例如:(9)将列表key
2023-01-25一、redis中的数据类型1、redis列表(List)redis列表底层是一个双向链表。(1)从左边/右边插入一个或多个值lpush/rpush例如:(2)从左边/右边吐出一个值。值在键在,值光键亡lpop/rpop例如:(3)从key1列表右边吐出一个值,插入到key2列表左边rpoplpush(4)按照索引下标获得元素(从左到右)lrange(5)按照索引下标获得元素(从左到右)lindex例如:(6)获得列表长度llen例如:(7)在的后面插入插入值linsertbefore例如:插入后的数据(8)从左边删除n个value(从左到右)lrem例如:(9)将列表key
第一个在Word1文档中,第二个在Word2文档中同一个文档下空格大小相同,情况出现在两个不同的文档中下面是正常情况,一个空格占半个字符宽度,2个空格=1个字符宽度下面是不正常情况,一个空格占四分之一个字符宽度,4个空格=1个字符宽度 均是简体中文半角空格,不涉及全角。段落设置均一致正常 初步分析(仅代表个人发现)4个空格=1个字符宽度:出现在旧版本Word兼容模式下,即使转换后,空格也还是1/4宽度。1、我需要的是知道问题出现的根本原因,为什么空格会是1/4宽度且无法改变?哪怕是在旧版本中。2、为什么转换成新版本word,依旧无法改变空格宽度,需要完全重开一个新文档3、将旧版本word抛弃
第一个在Word1文档中,第二个在Word2文档中同一个文档下空格大小相同,情况出现在两个不同的文档中下面是正常情况,一个空格占半个字符宽度,2个空格=1个字符宽度下面是不正常情况,一个空格占四分之一个字符宽度,4个空格=1个字符宽度 均是简体中文半角空格,不涉及全角。段落设置均一致正常 初步分析(仅代表个人发现)4个空格=1个字符宽度:出现在旧版本Word兼容模式下,即使转换后,空格也还是1/4宽度。1、我需要的是知道问题出现的根本原因,为什么空格会是1/4宽度且无法改变?哪怕是在旧版本中。2、为什么转换成新版本word,依旧无法改变空格宽度,需要完全重开一个新文档3、将旧版本word抛弃
背景在工作中需要对比数据,然后输出一份world文档的对比报告。这需要用C#来读写word文件。用到的工具NPOINPOI地址:NPOINPOI版本:2.6.0个人项目的运行时版本:.NETCore3.1解决思路:既然是要输出一份报告,那么报告的格式是固定的,只需要将报告需要改变的内容进行特殊标记,然后用具体的值替换掉即可报告部分内容如下:计算成功successCount,成功率successRate%这里的successCount和successRate就是要改变的值接下来的代码如下publicclassBuildReport{privatestringsavePath;publicBuil
背景在工作中需要对比数据,然后输出一份world文档的对比报告。这需要用C#来读写word文件。用到的工具NPOINPOI地址:NPOINPOI版本:2.6.0个人项目的运行时版本:.NETCore3.1解决思路:既然是要输出一份报告,那么报告的格式是固定的,只需要将报告需要改变的内容进行特殊标记,然后用具体的值替换掉即可报告部分内容如下:计算成功successCount,成功率successRate%这里的successCount和successRate就是要改变的值接下来的代码如下publicclassBuildReport{privatestringsavePath;publicBuil
很多朋友都有过下载了某个文件打不开,或者打开后根本不是那么回事的情况,有的朋友甚至下载某“官方系统”安装后却一堆病毒,这往往是由于下载的文件货不对板造成的。由于网络问题、CDN缓存乃至钓鱼网站等原因,默认情况下真的很难判断下载回来的文件会不会货不对板。要解决这个问题,对文件进行Hash哈希校验,是非常有效的做法,但Windows默认似乎没有这功能选项。怎么办?今天就来分享几招!命令行其实说Windows默认没有Hash文件的功能,是不准确的,Windows系统其实带有Hash文件功能,只不过并不直接在图形界面提供给用户,通过命令行就可以执行Hash命令。首先,我们需要查询某个文件的具体路径,这
很多朋友都有过下载了某个文件打不开,或者打开后根本不是那么回事的情况,有的朋友甚至下载某“官方系统”安装后却一堆病毒,这往往是由于下载的文件货不对板造成的。由于网络问题、CDN缓存乃至钓鱼网站等原因,默认情况下真的很难判断下载回来的文件会不会货不对板。要解决这个问题,对文件进行Hash哈希校验,是非常有效的做法,但Windows默认似乎没有这功能选项。怎么办?今天就来分享几招!命令行其实说Windows默认没有Hash文件的功能,是不准确的,Windows系统其实带有Hash文件功能,只不过并不直接在图形界面提供给用户,通过命令行就可以执行Hash命令。首先,我们需要查询某个文件的具体路径,这
HASHJOIN是大数据量表连接中最为常用的方式,与最为常用的NESTEDLOOP相比,其应用场景不同。对于两张表的连接,NESTEDLOOP适合于类似查电话号码的应用场景,如果领导给你一张清单,让你去查一下几家企业的电话号码,那么你要做的是找到一本电话号码本,根据公司名称的索引,挨个查一遍,很快就可以完成了。这种方式就是著名的NESTEDLOOP,通过数个快速的循环,完成两个行源的关联操作(待查清单,电话号码簿)。如果这个任务改一下,领导给你的清单上有几万家企业,那么我们还这么一条条的去查,那不傻了。这时候,就不适合用NESTEDLOOP循环了,HASHJOIN是比较快速的解决方法。很多S