열에 흰색과 녹색의 두 가지 색이 있다고 가정합니다.openpyxl에서 특정 색상의 셀을 선택하는 방법은 무엇입니까?
작업 : openpyxl을 사용하여 녹색 셀을 선택하십시오.
공식 문서 Working with styles을 읽었지만이를 수행하는 방법을 찾지 못했습니다.
예를 들어, 현재 색상의 코드를 파악하는 방법과 같이 많은 사소한 질문이 있습니까?
열에 흰색과 녹색의 두 가지 색이 있다고 가정합니다.openpyxl에서 특정 색상의 셀을 선택하는 방법은 무엇입니까?
작업 : openpyxl을 사용하여 녹색 셀을 선택하십시오.
공식 문서 Working with styles을 읽었지만이를 수행하는 방법을 찾지 못했습니다.
예를 들어, 현재 색상의 코드를 파악하는 방법과 같이 많은 사소한 질문이 있습니까?
셀의 백 그라운드 색상을 설정할 수 있습니다.
이 예제에서는 openpyxl.styles.fills.PatternFill
클래스를 사용합니다. 패턴을 사용하여 균일 한 채우기를 적용합니다 (여기서는 "단색"패턴 임) 전경 색상 (녹색) 및 배경색 (단색 패턴이 보이지 않지만 회색 음영 '). 또한하여 openpyxl.styles.fills.GradientFill
클래스 그라데이션 채우기 생성 할 수
...
import openpyxl.styles
wb = load_workbook(xls_path)
ws = wb.active
cell = ws["A1"]
cell.fill = openpyxl.styles.PatternFill('solid', openpyxl.styles.colors.GREEN)
그래서, 채우기 패턴의 색상을 얻을, 당신은
fill.fgColor
(또는
fill.bgColor
배경) 속성을 읽을 수 있습니다.
openpyxl.style.Color
클래스의 인스턴스를 가져옵니다.
rgb
속성 (설명 자임)을 호출하여 RGB 색상을 문자열로 가져옵니다. 참고 :이 값은 알파 색상 (투명도)과 클래식 RGB 색상의 4 가지 요소로 구성됩니다.
color = cell.fill.fgColor
assert isinstance(color, openpyxl.styles.Color)
assert color.rgb == "0000FF00" # Green
하지만 모두 도움이되지 않습니다. 열이 너무이기 때문에.
워크 시트에는 column_dimensions
콜렉션이 들어 있습니다. 각 column_dimensions
에는 하나 또는 여러 열 (열 그룹 개념)에 대한 속성 (스타일 등) 이 들어 있습니다. 및 max
속성이 column_dimensions
인 경우 에 열 인덱스 (그룹의 시작 및 끝 인덱스, 1부터 시작)를 제공합니다.
cd = ws.column_dimensions["A"]
assert cd.min == 1 and cd.max == 1
세포처럼, 당신은 열 채우기 패턴을 설정할 수 있습니다
cd.fill = openpyxl.styles.PatternFill('solid', openpyxl.styles.colors.GREEN)
참고 : 셀 스타일 열 스타일을 통해 더 높은 우선 순위를 가지고있다. 즉, 열 스타일을 흰색으로 설정하고 셀 스타일을 녹색으로 설정하면 사용자에게 녹색 셀이 표시됩니다.
이와 비슷한 질문이 과거에도있었습니다. 가능하지만 쉬운 일은 아니며 도움이 필요한 것보다 더 많은 코드를 제공해야합니다. –