在使用ApachePOI生成Excel,遇到一个问题,就是单元格合并功能: sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)); 发现合并后的单元格,内容是空白的 合并的单元格,内容是根据合并前的单元格的第一行第一列的数据的,所以写程序的时候,要注意给合并前的最初的那个单元格赋值就可以了。

2022-11-04 0条评论 494点热度 0人点赞 admin 阅读全文

IDEA下需要对一个普通的SpringWeb项目(使用的是Maven构建)的编译出来的class文件进行混淆,准备使用proguard来进行。 我找到了一个使用proguard的maven编译插件,项目地址是:https://github.com/wvengen/proguard-maven-plugin 首先修改pom.xml,在project下,使用如下内容(配置文件有注释,可根据自己实际情况做调整): <build> <plugins> <!-- ProGuard混淆插件--&g…

2022-11-02 0条评论 475点热度 0人点赞 admin 阅读全文

根据IDEA的提示,是否启用lombok,启用后,发现无法正常启动程序了,报错如下: java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x109ba79f) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because…

2022-10-30 0条评论 636点热度 0人点赞 admin 阅读全文

希望利用程序对网页进行截图,或者将复杂的HTML(带复杂的CSS3语法或者Javascript)转换成网页图片。 另外如果希望把网页生成PDF,可以查看这里:https://blog.terrynow.com/2022/12/13/use-node-puppeteer-docker-generate-pdf-as-service-and-support-chinese/ 有考虑过几种实现方式 html2image转换如果你是简单的HTML是没有问题,方式也比较简单,缺点是负责的Html无法正确渲染 PhantomJ…

2022-10-29 0条评论 1840点热度 0人点赞 admin 阅读全文

使用ApachePOI读取Excel的时候,如果单元格是日期的格式,通过判断cell.getCellType() 得到的是Cell.CELL_TYPE_NUMERIC,进而使用cell.getNumericCellValue() 获取到单元格内容,但是读取到的却是类似44840.611111这样的数字 经过一番查找资料,结论是,Excel单元格存储日期、时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再根据CellStyle来判断日期格式,再进行判断转化。 总结如下: 数值格式(CELL_TYPE_N…

2022-10-25 0条评论 1955点热度 0人点赞 admin 阅读全文

在使用ApachePOI做Excel导出的时候,如果遇到日期类型的单元格内容,我们不希望简单把单元格内容赋值成String文本,而是希望给单元格复制成Excel能认得的Date日期类型,以便在Excel中做一些计算或者统计。 如图代码很简单: Cell cell = row.createCell(i); Date date = new Date(); // 实际的日期从业务中来 cell.setCellValue(date); 不过生成了Excel后,就变成这样了(可以看到新建日期和更新日期里的内容都变成小数了):…

2022-10-20 0条评论 807点热度 0人点赞 admin 阅读全文

我们知道,如果要替换字符串中完全相同的内容,可以直接使用String.replace(replaceAll)来替换,如果要替换的内容是正则表达式的形式呢? 举个例子,我们在做短信模板的时候,一般有这样的: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动! 需要替换${xxx}里面的内容,可以使用正则表达式来查找符合${xxx}的内容,然后替换,这就用到了matcher.appendReplacement和matcher.appendTail了。 代码如下: public static void…

2022-10-15 0条评论 686点热度 1人点赞 admin 阅读全文

Java或者SpringBoot项目中,需要将Html(可以是模板引擎例如thymeleaf生成的html)转成图片或者PDF。 如果不是比较复杂的Html(例如Html里没有很多CSS3的语法,flex布局等、背景图,加载js外部css等),那么可以采用一个简单的类库:,因为只需要引入到pom.xml,几行代码就可以搞定生成图片或者PDF的问题了。 使用方法: pom.xml 增加如下依赖(使用的最新版是2.0.1,有很多地方还是显示的0.9版本,最近版本2.0.1在渲染html上要比0.9好很多): <d…

2022-10-13 0条评论 2741点热度 0人点赞 admin 阅读全文

写在前面 相信不少开发者在遇到项目对数据进行批量操作的时候,都会有不少的烦恼,尤其是针对数据量极大的情况下,效率问题就直接提上了菜板。 因此,开多线程来执行批量任务是十分重要的一种批量操作思路,其实这种思路实现起来也十分简单,就拿批量更新的操作举例: 整体流程图 步骤 获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合A-1 ~ A-N 。 开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作。 对流程进行控制,控制线程执行顺序。 按照指定大小拆分集合的工具类 import com.goo…

2022-10-11 0条评论 483点热度 0人点赞 admin 阅读全文

synchronize是平时用得比较多的多线程问题的解决方案,一般说存在多线程问题,加个锁,就用synchronize吧,简单,方便。今天,就来深入了解一下synchronize知识点。 Synchronized可以加在对象上,也可以加在函数上。 Synchronized 介绍 1:Synchronized. 加在对象上 表示对这个对象加锁,当有线程进入函数后先获取对象的锁,如果获取到锁,进入同步块执行,获取失败,放入阻塞队列中。 public void getOneThings(){ synchronized (…

2022-10-05 0条评论 486点热度 0人点赞 admin 阅读全文
1234521