请问EXCEL有没有获取单元格颜色的函数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问EXCEL有没有获取单元格颜色的函数。相关的知识,希望对你有一定的参考价值。

没有函数,只有宏。

1、电脑打开要获取单元格颜色的表格。


2、打开表格后,Alt+F11进入宏,点击插入模块。


3、点击插入模块后输入代码

Function SUMColor(rag1 As Range, rag2 As Range)

Application.Volatile

For Each i In rag2

If i.Interior.ColorIndex = rag1.Interior.ColorIndex Then

SUMColor = SUMColor + 1

End If

Next

End Function。


4、输入代码后,返回Excel,在任意单元格中输入=SUMColor(B2,$A$1:$B$6)。


5、回车就可以得到B2单元格颜色数量了。

参考技术A

Excel中可以使用宏表函数get.cell来得到单元格的填充色。

宏表函数必须自定义名称方可使用,具体方法如下:

1. 公式-->定义名称-->引用位置输入=get.cell(63,sheet1!A1)。

2. 回到excel, 在B1输入刚才自定义的函数名称,比如截图例子中的=tst,即可得到颜色。

3. 另一个也不麻烦的方法,VBA代码。

在VBA编辑窗口中输入以下代码即可将A1的颜色代码输入到C1。

Sub tst()
Range("c1").Value = Range("c1").Offset(0, -2).Interior.ColorIndex
End Sub

参考技术B GET.CELL(63,单元格号)
宏表函数,要在定义-名称里设定本回答被提问者采纳
参考技术C 没有,那是VBA

Java从Apache poi获取excel单元格背景颜色

我正在尝试使用Apache POI在.xlsx文件中获取单元格颜色信息。

方法cellStyle.getFillBackgroundColor()正在回归。如何将短片转换为java.awt.Color或任何其他格式(XSSFColor)。

最终我想根据背景颜色存储单元格的值。

 Workbook workbook = WorkbookFactory.create(new FileInputStream (new File(SAMPLE_XLSX_FILE_PATH)));
    Sheet sheet = workbook.getSheetAt(0);
    DataFormatter dataFormatter = new DataFormatter();
    sheet.forEach(row -> {
        row.forEach(cell -> {
            String cellValue = dataFormatter.formatCellValue(cell);
            CellStyle cellStyle = cell.getCellStyle();
            System.out.println(cellStyle.getFillBackgroundColor());
            //Color userColor = cellStyle.getFillBackgroundColor(); //ERROR 
        });
        System.out.println();
    });

我使用的是版本3.6,我认为不支持getFillBackgroundColorColor()

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.6</version>
</dependency>
答案

使用.xlsx电子表格,您可以调用the getFillBackgroundColorColor (2 "Color" words)方法。它返回一个org.apache.poi.ss.usermodel.Color(不是一个非常有用的接口),XSSFColor实现。然后你可以把它作为XSSFColor

XSSFColor = (XSSFColor) cellStyle.getFillBackgroundColorColor();

或者,再次使用.xlxs电子表格,您可以将CellStyle转换为XSSFCellStyle,而XSSFCellStylegetFillBackgroundColorColor方法直接返回XSSFColor。它也有getFillBackgroundXSSFColor做同样的事情。

获取背景填充颜色。

注意 - 许多单元格实际上填充了前景填充,而不是背景填充 - 请参阅getFillForegroundColor()

请注意,实心填充是作为前景色实现的,因此前景色可能是您真正想要的。前景色有补充方法,例如: getFillForegroundColorColor

以上是关于请问EXCEL有没有获取单元格颜色的函数。的主要内容,如果未能解决你的问题,请参考以下文章

在pandas read_excel中获取Excel单元格背景颜色?

java poi编写代码来设置Excel单元格的样式

pandas设置excel单元格日期类型分秒

请问怎么在excel单元格格式添加自定义

excel 在下拉时,如何使单元格背景色不变?

c#winFORM 的dataGridView 控件 单元格 颜色报警