Java 在Excel单元格中应用一种/多种字体样式

Posted E-iceblue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 在Excel单元格中应用一种/多种字体样式相关的知识,希望对你有一定的参考价值。

在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可;另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式;本文将通过Java代码示例介绍具体实现方法。

 

使用工具:Free Spire.XLS for Java (免费版)

注:可通过官网下载包,解压,并将lib文件夹中的Spire.Xls.jar文件导入Java程序;或通过maven仓库导入。导入效果如下:

 

Java代码示例

import com.spire.xls.*;

import java.awt.*;

public class SetMultipleStylesInOneCell {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");

        //获取指定工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取单元格C3,对单元格中所有字符应用样式
        CellRange cell1 =  sheet.getCellRange("C3");
        cell1.getCellStyle().getFont().setFontName("行楷");
        cell1.getCellStyle().getFont().setColor(new Color(0,128,0));
        cell1.getCellStyle().getFont().setUnderline(FontUnderlineType.Double);
        cell1.getCellStyle().getFont().setSize(13);

        //获取单元格C5
        CellRange cell2 =  sheet.getCellRange("C5");
        //创建字体样式font1和font2
        ExcelFont font1 = wb.createFont();
        font1.setColor(new Color(30,144,255));
        font1.setFontName("黑体");
        font1.setSize(14);
        font1.isItalic(true);
        ExcelFont font2 = wb.createFont();
        font2.setColor(new Color(220,20,60));
        font2.setFontName("楷体");
        font2.setSize(17);
        font2.isBold(true);

        //调用方法设置字体样式到单元格中的指定字符
        RichText richText = cell2.getRichText();
        richText.setFont(0,7,font1);
        richText.setFont(9,17,font2);

        //保存文档
        wb.saveToFile("Result.xlsx");
        wb.dispose();
    }
}

字体样式应用结果:

 

 

(本文完)

 

以上是关于Java 在Excel单元格中应用一种/多种字体样式的主要内容,如果未能解决你的问题,请参考以下文章

POI如何自动调整Excel单元格中字体的大小

单个 UITableview 单元格中的多种字体大小 (Swift)

在EXCEL单元格中输入数字会变成“#”字符号该怎么解决?

project里如何将单元格中的字体居中?

从单元格中检索多个字体数据

在excel表格单元格中,小数点后是0,为啥不显示