栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

阿里POI为单元格内容设置不同样式(富文本字符串对)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

阿里POI为单元格内容设置不同样式(富文本字符串对)

需求是导出Excel时,实现对单元格内内容实现多种字体样式。参考poi官方文档后使用了富文本编辑器对象来实现。 

// HSSF实现
HSSFFont font1 = wb.createFont();
font1.setBold(true);
HSSFFont font2 = wb.createFont();
font2.setBold(false);
HSSFCell hssfCell = row.createCell(idx);
// 创建富文本对象并根据下标指定不同的字体格式
HSSFRichTextString richString = new HSSFRichTextString( "Hello, World!" );
richString.applyFont( 0, 6, font1 );
richString.applyFont( 6, 13, font2 );
hssfCell.setCellValue( richString );
//-----------------------------------分割线-----------------------------------------
// XSSF实现
XSSFFont font1 = wb.createFont();
font1.setBold(true);
font1.setColor(new XSSFColor(new java.awt.Color(255, 0, 0)));

XSSFFont font2 = wb.createFont();
font2.setItalic(true);
font2.setUnderline(XSSFFont.U_DOUBLE);
font2.setColor(new XSSFColor(new java.awt.Color(0, 255, 0)));

XSSFFont font3 = wb.createFont();
font3.setColor(new XSSFColor(new java.awt.Color(0, 0, 255)));

XSSFRichTextString rt = new XSSFRichTextString("The quick brown fox");
rt.applyFont(0, 10, font1);
rt.applyFont(10, 19, font2);
rt.append(" Jumped over the lazy dog", font3);

XSSFCell cell = row.createCell(1);
cell.setCellValue(rt);

通过以上功能即可实现对单元格内的内容设置多种格式。

方法对比:

HSSFRichTextString:applyFont()

XSSFRichTextString:applyFont()、append()

我们发现两个类中都有applyFont()方法,该方法需要指定字符串的起始和结束坐标;

XSSFRichTextString有append()方法,用法上类似于Java的StringBuilder的append(),都是在后面追加,使用更为方便。

所以更推荐使用XSSFRichTextString。

此外,POI官方文档中还可以对文本框内内容设置多种格式,使用的也是HSSFRichTextString和XSSFRichTextString类,具体可参考下方文档链接;

参考链接(单元格):https://poi.apache.org/components/spreadsheet/quick-guide.html#RichTexthttps://poi.apache.org/components/spreadsheet/quick-guide.html#RichText

参考链接(文本框):Busy Developers' Guide to HSSF and XSSF Featureshttps://poi.apache.org/components/spreadsheet/quick-guide.html#DrawingShapes

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462053.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号