java poi框架导出excel如何插入特殊字符(复选框勾选)

您所在的位置:网站首页 excel怎么设置勾选框 java poi框架导出excel如何插入特殊字符(复选框勾选)

java poi框架导出excel如何插入特殊字符(复选框勾选)

2024-07-01 21:36| 来源: 网络整理| 查看: 265

java poi框架导出excel如何插入特殊字符(复选框勾选) 背景:

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

在这里插入图片描述

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

正常手动在excel中插入复选框勾选是如何操作的

1.选择 在这里插入图片描述

2.找到Wingdings 2字体 在这里插入图片描述

就可以手动插入一个check的复选框了

poi框架导出如何设置

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);

导出结果如图:

在这里插入图片描述

最后:

至于纳税人识别号的方框内填数字,到现在也没好的方法来解决,手动插入还不会,更别提代码处理了,如果有人有更好的方案可以提出来,一起进步。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3