jasperreports导出的excel打开时提示修复,点击修复后设置的边框效果丢失

最近用jasperreports导出excel,在jrxml模板里设置了边框,导出pdf没有任何问题显示正常,导出的excel文件打开时遇到如下画面,提示要恢复,点是之后发现设置的边框线效果丢失。

jasperreports导出的excel打开时提示修复,点击修复后设置的边框效果丢失

一度怀疑是jasperreports的问题,后来才发现因为pdf中要输出中文,在font里设定指向本地地址的simsun.ttc。设定虽解决了中文不显示问题,但却干扰到了excel导出,导致边框样式丢失。

下面划重点:千万不要在jrxml里用如下图方式设置字体,推荐下载jasperreports-fonts源码(https://sourceforge.net/projects/jasperreports/files/jasperreports/),在jasperreports-fonts定义和扩展。然后导出jasperreports-fonts的jar包安装到本地maven库,然后在需要的地方引入。具体作法网上有教程(https://blog.****.net/qq_24084925/article/details/60469894  或者 https://www.jianshu.com/p/8dba0bb2f5dd)。

jasperreports导出的excel打开时提示修复,点击修复后设置的边框效果丢失

采用正确的方式设定字体后,导出的excel打开不再提示要修复,jrxml里设定的边框样式在导出的pdf和excel里都显示出来了。

jasperreports导出的excel打开时提示修复,点击修复后设置的边框效果丢失