至于颜色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//设置前景填充样式
cellStyle.setFillForegroundColor(HSSFColor.DARK_RED.index);//前景填充色
关于颜色的部分说明:
HSSFWorkbook wb = new HSSFWorkbook();
...
HSSFCellStyle style = wb.createCellStyle();
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(HSSFColor.WHITE.index);
cell.setCellStyle(style); //cell 是 HSSFCell 对象
setFillPattern是设置单元格填充样式,SOLID_FOREGROUND纯色使用前景颜色填充,接着设置前景颜色(setFillForegroundColor)就可以给单元格着色了。setFillForegroundColor()方法的参数是一个short类型,POI使用索引来代表颜色,默认已经有一些颜色了,如:
8: BLACK
60: BROWN
59: OLIVE_GREEN
58: DARK_GREEN
...
颜色的索引还必须是 0x08 ~ 0x40 (8 ~ 64) 的数字。
二、接下来,使用自定义颜色
如果不使用POI提供的默认颜色,就需要自定颜色索引:
HSSFPalette palette = wb.getCustomPalette(); //wb HSSFWorkbook对象
palette.setColorAtIndex((short) 9, (byte) (color.getRed()), (byte) (color.getGreen()), (byte) (color.getBlue()));
/*设置颜色的索引只能是 8 ~ 64,在此之外的索引无效,也不会报错。以下三种方式都可以设置成功。
palette.setColorAtIndex((short)9, (byte) (0xff & 251), (byte) (0xff & 161), (byte) (0xff & 161));
palette.setColorAtIndex((short)10, (byte) (0x66), (byte) (0xcd), (byte) (0xaa));
palette.setColorAtIndex((short)11, (byte) (255), (byte) (165), (byte) (0));
*/
然后使用颜色,如上例,可以用新的颜色索引,替换原有的颜色:
style.setFillForegroundColor((short) 9);
三、setFillPattern(),设置单元格填充的样式,比如:
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
style.setFillForegroundColor(HSSFColor.RED.index);
style.setFillBackgroundColor(HSSFColor.LIGHT_BLUE.index);
这样当前单元格就被红蓝交替的格子填充
上面3行代码,去掉setFillPattern设置填充样式的一行,同时设置前景色和背景色,生成的文件没有填充颜色,此时既不会用前景色填充,也不会用背景色填充。这种情况与 setFillPattern(HSSFCellStyle.NO_FILL); 时一样。
api上setFillBackgroundColor方法说明有如下示例:
public void setFillBackgroundColor(short bg)set the background fill color.
For example:
cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());
//上面代码经测试,是黑色点状的背景(无前景),设置红色背景色无效optionally a Foreground and background fill can be applied: Note: Ensure Foreground color is set prior to background
cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
cs.setFillForegroundColor(new HSSFColor.BLUE().getIndex());
cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());or, for the special case of SOLID_FILL:
cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND );
cs.setFillForegroundColor(new HSSFColor.RED().getIndex());
转自:【http://topic.csdn.net/u/20110111/15/31fb8405-a78a-4336-ab4c-c1eb33dc7ee4.html】
分享到:
相关推荐
本文将详细讲解如何利用Apache POI中的`HSSFCellStyle`类来设置单元格的前景色和背景色,并提供相关的代码示例。 #### 前景色设定 前景色是指单元格内文字的颜色。在Apache POI中,我们可以通过调用`HSSFCellStyle...
当设置单元格背景色时,我们可以使用`setFillForegroundColor(IndexedColors)`方法。 然而,实际的颜色显示可能与索引值不完全一致,因为Excel支持自定义颜色,这涉及到颜色编码的问题。颜色编码通常使用ARGB...
本示例将详细讲解如何使用C++实现设置边框、设置背景色以及合并单元格的功能,以创建一个完整的Excel文件。 首先,我们需要一个库来支持Excel文件的操作。在C++中,通常我们会选择如libxl、pandas或者开源的Apache ...
本文将详细介绍如何使用 POI 库设置 Excel 单元格的格式,包括设置背景色、边框、居中、字体、列宽、自动换行和合并单元格等。 一、设置背景色 在 POI 中,可以使用 `HSSFCellStyle` 对象设置单元格的背景色。首先...
本文将详细探讨如何使用POI设置单元格背景颜色,并列出44种可用的颜色及其代码。 首先,要设置单元格的背景颜色,我们需要创建一个 `HSSFCellStyle` 对象,并调用其 `setFillBackgroundColor` 方法。这个方法接受一...
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
目录大概: ...5.3 单元格背景色 41 5.4 单元格字体格式 41 5.5 单元格对齐方式 42 5.6 单元格数字格式化 45 5.7单元格宽度与高度 46 5.8 合并单元格样式 47 5.9 Excel样式实例 48 6.总结 52 7.附录 53
在“poi3.2与颜色对照”这个主题中,我们将深入探讨这两个库如何处理Excel文档中的颜色设置,以及如何在单元格中应用背景色。 Apache POI 3.2版是一个重要的里程碑,因为它引入了许多改进和新特性,使得开发者能够...
// 设置背景色 style.setFillForegroundColor(color.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 应用样式到单元格 cell.setCellStyle(style); ``` 这里的 `getIndex()` 方法返回的...
本教程将深入探讨如何使用C#创建Excel文件,包括设置下拉列表、调整列宽、设置单元格格式以及填充背景色。首先,我们需要了解几个关键库,如EPPlus、NPOI或ClosedXML,它们简化了与Excel文件交互的过程。 EPPlus是...
为了区分不同的行或列,可以设置单元格的背景色。示例如下: ```java CTShd ctshd = tcpr.addNewShd(); ctshd.setColor("auto"); ctshd.setVal(STShd.CLEAR); if (rowCt == 0) { // 标题行 ctshd.setFill("A7BFDE...
// 填充背景色 cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("text")); // 设置文本格式 cs2.setFont(f2); // 设置字体样式 // 设置Sheet名称 wb.setSheetName(0, "\u0422\u0435\u0441\u0442\u043E\u...
上述代码设置了单元格的背景色为黄色。 #### 四、总结 - **POI** 提供了一种强大的工具来处理Excel文件,对于需要频繁与Excel文件交互的企业级应用来说非常重要。 - **HSSF** 是POI中最常用的模块之一,尤其适用...
3. **样式和格式**:POI提供了丰富的样式API,可以设置字体、颜色、边框、对齐方式、背景色等,使你的文档更具视觉吸引力。 4. **公式支持**:POI能够处理Excel中的公式,不仅能够读取公式的结果,还能计算公式本身...
例如,可以通过设置单元格的样式来改变字体大小、颜色、背景色等。 ### 五、常见问题及解决方法 - **内存泄漏问题**:在使用POI处理大量数据时,可能会遇到内存泄漏的问题。为了解决这个问题,需要确保在操作完成后...
比如,你可以创建带有多个工作表的工作簿,每个工作表可以包含不同类型的报表数据,每个单元格可以根据需要设置背景色、边框和特定的字体格式,甚至可以设置公式进行计算。 除了基本的数据操作,POI还提供了辅助...
- **HSSFCellStyle**:定义单元格的样式,如边框、背景色等。 - **HSSFDateUtil**:处理日期相关的功能。 - **HSSFPrintSetup**:处理打印设置。 - **HSSFErrorConstants**:定义了一些错误信息。 #### 四、Excel ...
- **添加表格样式**:可以为表格添加边框、背景色等样式。 - **合并单元格**:使用 `Sheet.addMergedRegion()` 方法合并多个单元格。 #### 九、Excel 行列操作 - **增加行**:使用 `createRow()` 方法创建新行。 - ...