请问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单元格颜色数量了。
参考技术AExcel中可以使用宏表函数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
,而XSSFCellStyle
的getFillBackgroundColorColor
方法直接返回XSSFColor
。它也有getFillBackgroundXSSFColor
做同样的事情。
获取背景填充颜色。
注意 - 许多单元格实际上填充了前景填充,而不是背景填充 - 请参阅
getFillForegroundColor()
请注意,实心填充是作为前景色实现的,因此前景色可能是您真正想要的。前景色有补充方法,例如: getFillForegroundColorColor
。
以上是关于请问EXCEL有没有获取单元格颜色的函数。的主要内容,如果未能解决你的问题,请参考以下文章