【教程】解决linux服务器导出excel带中文水印出现乱码问题

最近JBolt demo站更新 增加了Excel导出带水印功能,具体实现可以查看这个帖子:

导出Excel带水印怎么实现?


项目部署到centos后,测试导出:

image.png

image.png


结果中文部分是乱码!

我在代码里使用了new Font() 指定的字体是微软雅黑,但是linux系统里没有这个字体,所以才乱码。


解决方案:安装字体

1、首先在/usr/share下ls 看看是否安装fontconfig和fonts目录

image.png

没有的话,执行:yum -y install fontconfig

2、安装fontconfig

image.png

image.png

安装完成后 再次ls 发现已经存在fonts和fontconfig

image.png

3、安装字体

在fonts中创建目录chinese

image.png

从window的字体里找到中文字体复制进去:

image.png


image.png

4、需要修改chinese目录的权限

chmod -R 755 /usr/share/fonts/chinese

image.png

5、fc-list查看字体列表里有没有新加的字体

image.png

这个时候我们再去测试导出带水印的DEMO,发现已经可以中文水印了!

image.png


如果还不是中文水印,说明字体尚未生效,需要执行最后一个步骤,修改字体配置文件。

6、修改字体配置文件

vi /etc/fonts/fonts.conf

image.png

image.png

配置好以后,输入:wq 保存退出

执行fc-cache命令刷新缓存即可。


推荐:使用JFinal和JBolt开发的项目名录-01



JBolt极速开发平台,省心,省事儿,极速开发,JFinal社区近400家企业的选择!

需要加入联系小木微信:18766735632

image.png

JBolt极速开发平台演示

使用JFinal和JBolt开发的项目名录-01


评论区

海哥

2021-10-18 09:43

小心微软雅黑有版权问题哦,有很多中文的开源字体或者免版权的字体。