java导出特殊字符_java poi框架导出excel如何插入特殊字符(复选框勾选)
java poi框架导出excel如何插入特殊字符(复选框勾选)
java poi框架导出excel如何插入特殊字符(复选框勾选)
java poi框架导出excel如何插入特殊字符(复选框勾选)
google了好久java导出excel如何导出复选框勾选状态,没有找到可行的结果,实际操作了一下,要不就是导不出,要不就是导出之后不正确。
先看看要导出的excel格式吧

就是一个单元格中包含了中文和方框的符号,根据后台结果,如果是true,需要在方框内打勾。
1.选择

2.找到Wingdings 2字体

就可以手动插入一个check的复选框了
1.要注意每个字符其实就是一个Unicode编码,checkbox在代码中表示如下:\u0052
2.正常字体的\u0052编码对应的字符是R
3.修改单元格内字体,如果修改的过长,中文字符就会变乱码,如果修改的过短,就不能正常展示我们插入的特殊符号
4.我曾经尝试设置cell的font,但是发现会影响其它单元格的font,并且cell中包含的中文字符也会变成乱码,所以就放弃设置cell的font了
代码如下:
/**
* 该方法是处理checkbox的
*/
public RichTextString process(Cell cell, Object input, Font font) {
RichTextString richTextString;
// 设置字体名称
font.setFontName("Wingdings 2");
if (Objects.equals(input, true)) {
richTextString = new HSSFRichTextString("是\u0052 否\u25A1");
richTextString.applyFont(1, 2, font);
} else {
richTextString = new HSSFRichTextString("是\u25A1 否\u0052");
richTextString.applyFont(4, 5, font);
}
return richTextString;
}
// font是通过workbook创建出来的,是不能new的
Font font = workbook.createFont();
// 此处省略自己封装的框架,value值就是上面方法返回的RichTextString
cell.setCellValue((RichTextString) value);
导出结果如图:

至于纳税人识别号的方框内填数字,到现在也没好的方法来解决,手动插入还不会,更别提代码处理了,如果有人有更好的方案可以提出来,一起进步。
java poi框架导出excel如何插入特殊字符(复选框勾选)相关教程
Java Spring Cloud Alibaba-Nacos 配置中心:(三)在 nacos-ser
Java Spring Cloud Alibaba-Nacos 配置中心:(三)在 nacos-server 里面添加配置 在 nacos-server 里面添加配置 在 nacos-server 里面添加配置 Nacos-client 会从 Nacos-Server 里面获取配置文件,首先,Nacos-Server 里面需要有配置文件才能获
java连接数据库JDBC
java连接数据库JDBC 一、准备jar包 使用 eclipse 连接数据库之前需要先根据使用的数据库版本下载一个 jar 包 下载网址:https://mvnrepository.com/artifact/mysql/mysql-connector-java 例如,使用5版本的只需要随便下一个5开头的即可 下载完成之后,在工程
Java Spring Cloud Alibaba-Nacos 配置中心:(四)获取配置信息
Java Spring Cloud Alibaba-Nacos 配置中心:(四)获取配置信息 获取配置信息 1.添加一个配置文件 2.新建一个启动类 3.启动测试 我们将演示在 config-client 里面获取上面我们写的 2 个配置信息 文件名称为: 注意:不是 application.yml ,bootstrap.yml 比
java 接友盟手机一键登录的案例(安卓端和IOS端传递token)
java 接友盟手机一键登录的案例(安卓端和IOS端传递token) 放一个友盟的手机登录流程图 上图可以看出,我们java只需要最后,拿到token后,发起请求,给app端返回个号码就行了 说的简单,做的真难做 这是友盟的开发文档 这是他提供的java签名demo 用以上的文
缓冲区 | 没吃透Netty 缓冲区,还能算得上Java老司机?
缓冲区 | 没吃透Netty 缓冲区,还能算得上Java老司机? Hi ! 我是小小,开始本周的最后一篇,最后一篇的主要内容是Java NIO 缓冲区 前言 Java NIO 需要理解的主要有缓冲区,通道,选择器,这三个主要的部分。 基础 操作系统为了提供稳定性,把虚拟地址空间分
【JavaScript】setTimeout 与 setInterval 的细节区别(存在的误
【JavaScript】setTimeout 与 setInterval 的细节区别(存在的误差区别) 来源:JavaScript 教程 / 异步操作 / 定时器 / 2. setInterval() 1. setTimeout() 指定某个函数或某段代码,在多少毫秒之后执行; 2. setInterval() 指定的是“开始执行”之间的间隔,
Java多线程面试题总结
Java多线程面试题总结 文章目录 多线程 1.线程和进程 2.线程定义方法,这些方法的区别? 3.start()和run()的区别? 4.线程状态转换图 5.concurrent包有啥内容? 6.线程安全的容器 7.线程同步的概念 8.死锁的原理和解决方式、手写死锁 9.乐观锁悲观锁思想 悲
SpringMVC框架入门搭建(新手向)
SpringMVC框架入门搭建(新手向) SpringMVC框架搭建(入门) 这个学期开了JavaWeb的课程,老师前几节课讲了好多技术,当然90%都没听说过的新东西。为什么? 才不是因为我懒,划水划到了大三 SpringMVC就是SpringModelViewController,即模型-视图-控制器的We
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)