POI填充模式顺序

本文介绍在使用Java POI库进行Excel单元格背景色设置时遇到的问题及解决方法。重点讲解了如何通过设置填充模式来实现背景色的配置,并列举了所有可用的填充模式及其对应的整型代号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人有个问题,如下:

Workbook   wb =  new   HSSFWorkbook();

CellStyle    cs   =  wb.createCellStyle();

设置单元格背景色必须要设置填充模式, SOLID_FOREGROUND模式就是一种全填充模式,

调用填充模式方法  cs.setFillPattern( (short)temp );   时,发现无法设置静态变量进去。

查看源码,发现枚举内的变量类型依旧是它自己(FillPatternType ),所以只能查看他们的代号,放进  cs.setFillPattern( short (temp) );  方法内。

以下为模式名,他们的 int 型代号一次为   0,1,2,3。。。。。。。

使用时加上(short)强转就可以了。

例如:需要设置填充格式为    SOLID_FOREGROUND,那么代码是:

cs.setFillPattern( short (1) ); 

public enum FillPatternType {

    
    /**  No background */
     NO_FILL,


    /**  Solidly filled */
     SOLID_FOREGROUND,


    /**  Small fine dots */
     FINE_DOTS,


    /**  Wide dots */
     ALT_BARS,


    /**  Sparse dots */
     SPARSE_DOTS,


    /**  Thick horizontal bands */
     THICK_HORZ_BANDS,


    /**  Thick vertical bands */
     THICK_VERT_BANDS,


    /**  Thick backward facing diagonals */
     THICK_BACKWARD_DIAG,


    /**  Thick forward facing diagonals */
     THICK_FORWARD_DIAG,


    /**  Large spots */
     BIG_SPOTS,


    /**  Brick-like layout */
     BRICKS,


    /**  Thin horizontal bands */
     THIN_HORZ_BANDS,


    /**  Thin vertical bands */
     THIN_VERT_BANDS,


    /**  Thin backward diagonal */
     THIN_BACKWARD_DIAG,


    /**  Thin forward diagonal */
     THIN_FORWARD_DIAG,


    /**  Squares */
     SQUARES,


    /**  Diamonds */
     DIAMONDS,


    /**  Less Dots */
     LESS_DOTS,


    /**  Least Dots */
     LEAST_DOTS;


}

### 使用 Apache POI 进行 Excel 单元格填充 #### 创建工作簿和表格 为了进行单元格填充操作,首先需要创建一个新的 `Workbook` 和 `Sheet` 对象。这里可以选择使用 `HSSFWorkbook` 或者更高效的 `SXSSFWorkbook` 来处理大文件。 ```java // 创建新的工作簿对象 SXSSFWorkbook workbook = new SXSSFWorkbook(); // 添加一个新表单到工作簿中 SXSSFSheet sheet = workbook.createSheet("Example Sheet"); ``` #### 定义单元格样式 定义用于设置背景颜色和其他样式的 `CellStyle` 实例。通过此实例可指定字体、边框以及最重要的——填充模式与颜色属性。 ```java // 设置单元格风格 CellStyle cellStyle = workbook.createCellStyle(); // 填充前景色为黑色(RGB值) cellStyle.setFillForegroundColor(IndexedColors.BLACK.getIndex()); // 应用实心填充效果 cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); ``` #### 向单元格应用样式 一旦设置了所需的样式选项,则可以通过将这些样式应用于特定的单元格来完成实际的颜色填充过程。下面展示了如何在一个新建的工作表上创建一行并为其第一个单元格赋予之前配置好的样式: ```java // 新建一行记录 Row row = sheet.createRow(0); // 在该行的第一列位置建立一个单元格 Cell cell = row.createCell(0); // 将自定义样式关联至当前单元格 cell.setCellStyle(cellStyle); // 可选:向单元格内输入一些文本内容以便观察显示情况 cell.setCellValue("This is a black filled cell."); ``` 以上代码片段实现了利用 Apache POI 库对 Excel 文档中的某个具体单元格执行简单的背景色填充功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值