`
javapolo
  • 浏览: 131590 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

poi 自定义颜色设置

 
阅读更多
    最近在项目的开发中使用到了apache poi,该组件可以让我们方便的操作excell,该工具非常容易上手,但使用过程中也发现了一些问题,就是当你操作excell文档为其设置颜色时,该文档所能设的颜色最多只能是56种(poi自身提供的系统颜色,例如红,黄等,我们可以通过对已有的色块进行调色达到我们自定义颜色的目的,在PaletteRecord类里面初始化),也就是说poi加载到内存之后,它所维护的只有56块色块,且系统只有一份,所以在一个excell生成过程中,它必须锁定该所有的调色块,待该excell文件生成之后,才能将该资源释放,供下个线程使用,而且在设置excell颜色过程中我们必须标识哪些调色块已经使用,哪些没用,这样我们才能防止调好的背景颜色被覆盖,在poi中自定义颜色一般通过HSSFPalette(调色板)对象调用setColorAtIndex(short index, byte red, byte green, byte blue)方法,
   /**  
     * @param 设置颜色块的索引,从 0x8 到 0x40
     * @param red 红色, between 0 and 255 inclusive
     * @param green 绿色, between 0 and 255 inclusive
     * @param blue 蓝色, between 0 and 255 inclusive
     */
    public void setColorAtIndex(short index, byte red, byte green, byte blue)
    {
        _palette.setColor(index, red, green, blue);
    }
通过该方法对调色块进行调色,调完色后,则该调色块对应的颜色就是通过最新的rgb值调出来的,下一步,例如你要设某单元格的背景色,你只要调用样式style.setFillForegroundColor(index)就可以了,在控制调色块的使用情况时可以采用List<Map>的集合来实现,通过Map<索引,使用情况>来标识一个色块的使用情况,
public class ColorIncreaseUtil {

public static int colorindex;
public static Map<String, Integer> maps;

/**
* 开始颜色索引
*/
public static void beginColorIndex() {
maps = new HashMap<String, Integer>();
for (int i = 8; i <= 64; i++) {
maps.put(i + "", 0);
}
colorindex = 8;
}

/**
* 颜色索引值增加
*/
public static short getColorIndexIncrease() {

if (colorindex > 64)
return 0;
colorindex = colorindex + 1;
while (maps.get("" + (colorindex)).intValue() == 1) {

colorindex = colorindex + 1;
}
return (short) colorindex;

}

/**
* 设置摸个颜色板已经占用
*
* @param index
*/
public static void setFlag(short index) {
maps.put(index + "", 1);
}
通过这样设置,我们就可以方便的定义我们的颜色了。
分享到:
评论

相关推荐

    POI设置Cell背景色编码与实际颜色对照表

    1. 颜色匹配问题:由于不同版本的Excel或不同的操作系统可能会有不同的颜色显示,开发者需要根据实际效果调整颜色设置。 2. 自定义颜色:如果需要的颜色不在`IndexedColors`范围内,可以使用自定义的ARGB颜色,但...

    java poi自定义导出功能.rar

    在这个"java poi自定义导出功能.rar"压缩包中,我们可以预见到包含的是关于如何利用Java POI库来自定义导出Excel数据的相关代码和示例。 在Java POI中,对于Excel文件的操作主要集中在HSSF(处理.xls格式)和XSSF...

    自定义POI EXCEL模板

    博主可能分享了如何创建工作簿(Workbook)、工作表(Sheet)、行(Row)和单元格(Cell),并设置它们的样式,如字体、颜色、边框、对齐方式等。此外,还可能涉及如何在模板中插入公式、条件格式、图表、图片等高级...

    poi3.2与颜色对照

    在“poi3.2与颜色对照”这个主题中,我们将深入探讨这两个库如何处理Excel文档中的颜色设置,以及如何在单元格中应用背景色。 Apache POI 3.2版是一个重要的里程碑,因为它引入了许多改进和新特性,使得开发者能够...

    POI颜色参照文档

    注意,不是所有的颜色都有对应的索引值,一些颜色可能需要通过 RGB 值来创建自定义颜色。 通过“POI颜色参照文档”,开发者可以方便地查找并选择所需的颜色,确保在 Excel 文件中呈现出预期的视觉效果。同时,文档...

    Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)

    Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)

    POI excel单元格顔色设定

    如果上述预定义的颜色不能满足需求,可以使用`HSSFColor`类中的`HSSFColor.HSSFColorPredefined`枚举来创建自定义颜色。不过这将在后续章节详细介绍。 #### 填充模式 除了设置单元格的颜色之外,还可以通过`...

    POI单元格颜色与代码对比

    总之,Apache POI 提供了一种简单的方式来改变Excel单元格的背景颜色,通过使用 `HSSFColor` 的预定义颜色或自定义颜色,我们可以轻松地使我们的Excel文件更加丰富多彩。在实际应用中,结合单元格样式、字体和其他...

    java使用POI插件绘制表格曲线图

    6. 自定义图表的属性,如标题、轴标签、网格线、颜色等。这可以通过`HSSFChartTitle`,`HSSFXAxis`,`HSSFYAxis`等对象实现。 例如,要设置图表标题,你可以这样做: ```java HSSFChartTitle title = chart....

    poi-el 用户自定义excel 导出模板

    对于“随意cell内容显示设定”,这意味着用户不仅限于简单的文本插入,还可以设置单元格的样式,如字体、颜色、边框、对齐方式等,甚至可以插入图表、公式或者超链接。这种灵活性使得生成的Excel文件更加专业且具有...

    使用poi(3.17)操作ppt中饼状图

    通过以上步骤,你可以使用Apache POI 3.17创建一个带有自定义数据的饼状图的PPTX演示文稿。这只是一个基本的流程,实际应用中可能需要根据具体需求进行更多的定制,如调整颜色、样式、标签等。确保正确地解析和设置...

    java 导出xls并自定义保存

    5. **设置样式和格式**: Apache POI允许你自定义单元格的样式,如字体、颜色、对齐方式等。例如,设置单元格为红色粗体。 ```java HSSFFont font = workbook.createFont(); font.setColor(HSSFColor.RED....

    poi操作ppt图表.zip

    5. **自定义图表样式**:我们可以调整图表的颜色、字体、边框等样式。例如,可以修改`XSLFShape`对象的填充色,设置`XSLFTextParagraph`的字体和大小,或者更改`XSLFChartAxis`的刻度和标签。 6. **保存和读取PPTX*...

    POI操作Excel完美生成水印

    在这个过程中,你可以调整字体、大小、颜色、透明度和旋转角度,以达到理想的水印效果。 2. **使用Apache POI加载Excel**:然后,使用POI的HSSFWorkbook或XSSFWorkbook类打开Excel文件。根据你的Excel文件类型,...

    自定义模板导出excle项目工具poi-el.rar

    首先是Excel基础信息的自定义,用户可以根据需要设定工作表的名称、位置、格式等,以及单元格的基本属性,如字体、颜色、边框等。其次是列表的自定义,用户可以根据数据的性质定义数据的排序、过滤和显示样式,使得...

    POI实战-java开发excel详解

    POI允许开发者对单元格进行细致的样式设置,包括边框样式、背景颜色、字体格式、对齐方式等。 ##### 5.1 POI样式相关类 - **HSSFCellStyle**:用于设置单元格样式。 - **HSSFColor**:用于设置单元格的颜色。 - **...

    POI批量导入导出

    在导出方面,POI能够根据业务需求生成包含大量数据的Excel文件,可以自定义样式、颜色、字体等,使得导出的文件既实用又美观。在批量导出时,尤其适用于需要将数据库查询结果或者处理后的数据以Excel形式分发给用户...

    poi-4.0.0 最新版poi jar包 for java

    除了基本操作外,Apache POI还支持更复杂的任务,如设置单元格格式(字体、颜色、对齐方式等)、创建图表、应用公式、处理数据验证规则等。此外,如果你在处理大数据量的Excel文件时,应优先考虑使用SXSSF,以避免...

    最新poi:poi-3.10.1.jar

    3. **样式和格式**:POI允许你设置单元格的样式,包括字体、颜色、边框、填充、对齐方式等。例如,你可以创建一个自定义的CellStyle,并应用到特定的单元格上。 4. **公式处理**:对于含有公式的单元格,Apache POI...

Global site tag (gtag.js) - Google Analytics