解决easyExcel模板填充时转义字符\{xxx\}失效

正常我们在使用easyExcel进行模板填充时,定义的变量会填充好对应的实际数据,未定义的变量会被清空,但是如果这个未定义的变量其实是模板的一部分,那么清空了就出错了。

在这张图里,上面的是模板填充后导出的文件,下面的是模板文件,而{xxx}就是未定义的变量。

当我们想让一个变量不必填充而以原形式保留时,根据官方文档的说法,我们可以用转义字符"\"来实现这个效果:

但是实际上,当单元格里只有一个变量{}时,转义字符"\"会跟着一起保留下来,如下:

只有当单元格里有另外一个不需要转义的变量存在时,这个单元格里需要转义的变量才能正常转义成功,如下:

那如果单元格里只有一个变量,我们也只想保留单元格里这个转义后的变量,那就可以用到之前听到的未定义的变量{xxx}(这个xxx可以是任何未定义的变量,可根据需要换成其他合适的名称),转义的变量\{\}保留,{xxx}则清空。同样的,如果{xxx}是模板的一部分我们需要保留,也可以用这个方法:

参考:

填充Excel | Easy Excel

解决模板Cell中单纯`\{name\}`,无法有效转换为`{name}`的问题。 by gongycn · Pull Request #3095 · alibaba/easyexcel · GitHub

模板{}转义问题,转义符会保留 · Issue #3356 · alibaba/easyexcel · GitHub

相关推荐
笨手笨脚の1 天前
设计模式-装饰器模式
java·设计模式·装饰器模式·结构型设计模式
9毫米的幻想1 天前
【Linux系统】—— 程序地址空间
java·linux·c语言·jvm·c++·学习
C++chaofan1 天前
Redisson分布式限流
java·jvm·spring boot·redis·分布式·mvc·redisson
whltaoin1 天前
Java 网络请求 Jar 包选型指南:从基础到实战
java·http·okhttp·网络请求·retrofit
疯癫的老码农1 天前
【word解析】从OLE到OMML:公式格式转换的挑战与解决方案
java·spring boot·spring·word
泽济天下1 天前
【经验分享】JWE 详解:比 JWT 更安全的令牌技术
网络·经验分享·安全
元气满满的霄霄1 天前
Spring Boot整合缓存——Redis缓存!超详细!
java·spring boot·redis·后端·缓存·intellij-idea
我命由我123451 天前
Photoshop - Photoshop 工具栏(2)矩形框选工具
经验分享·笔记·学习·ui·photoshop·ps·美工
月夕·花晨1 天前
Gateway-过滤器
java·分布式·spring·spring cloud·微服务·gateway·sentinel
hssfscv1 天前
JAVA学习笔记——9道综合练习习题+二维数组
java·笔记·学习