Python3實(shí)現(xiàn)Excel行分級(jí)與單元格填色
Python3實(shí)現(xiàn)Excel行分級(jí)
1. 在Excel中實(shí)現(xiàn)分級(jí)
選擇指定行后,點(diǎn)擊 數(shù)據(jù) - 分級(jí)顯示 - 組合


然后就可以點(diǎn)擊加減號(hào)展開(kāi)或折疊了。
2. Excel分級(jí)
用openpyxl的row_dimensions.group()實(shí)現(xiàn)。
官方文檔:https://openpyxl.readthedocs.io/en/3.1/api/openpyxl.worksheet.dimensions.html
示例代碼:
from openpyxl import load_workbook wb = load_workbook(r"成本.xlsx") ws = wb.active # 創(chuàng)建分組 ws.row_dimensions.group(8, 96, outline_level=1) ws.row_dimensions.group(10, 37, outline_level=2) ws.row_dimensions.group(39, 67, outline_level=2) # 設(shè)置分組折疊按鈕位置 ws.sheet_properties.outlinePr.summaryBelow = False wb.save(r"trys\grouped_table.xlsx")
原xlsx文檔沒(méi)有分級(jí),分級(jí)后的效果就是這樣,你懂吧你就理解一下這個(gè)行和分級(jí)的分布是這樣的:



Python3實(shí)現(xiàn)單元格填色
1. 在Excel中實(shí)現(xiàn)單元格填色
1. 開(kāi)始 - 字體

2. 在單元格中右鍵選擇填充顏色

2. 單元格填色
使用openpyxl.styles.PatternFill實(shí)現(xiàn),包文檔:https://openpyxl.readthedocs.io/en/stable/index.html
示例代碼:
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
# 創(chuàng)建一個(gè)新的 Excel 工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "Sales Data"
# 添加數(shù)據(jù)
data = [
["Region", "Manager", "Sales"],
["North", "Alice", 1000],
["South", "Bob", 1500],
["East", "Charlie", 2000],
["West", "David", 500],
]
for row in data:
ws.append(row)
# 設(shè)置列寬
for col in range(1, 4):
column_letter = get_column_letter(col)
ws.column_dimensions[column_letter].width = 20
# 給不同級(jí)別的銷售設(shè)置不同的背景色
# 假設(shè) sales > 1500 是“高”級(jí)別,1500 <= sales <= 1000 是“中”級(jí)別,sales < 1000 是“低”級(jí)別
high_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
medium_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
low_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")
# 根據(jù)銷售額來(lái)設(shè)置顏色
for row in ws.iter_rows(min_row=2, min_col=3, max_row=5, max_col=3): # 銷售數(shù)據(jù)在第三列
for cell in row:
if cell.value > 1500:
cell.fill = high_fill
elif cell.value >= 1000:
cell.fill = medium_fill
else:
cell.fill = low_fill
# 保存文件
wb.save(r"trys\sales_data.xlsx")
Excel輸出效果:

到此這篇關(guān)于Python3實(shí)現(xiàn)Excel行分級(jí)與單元格填色的文章就介紹到這了,更多相關(guān)Python3 Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python遞歸打印某個(gè)目錄的內(nèi)容(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇python遞歸打印某個(gè)目錄的內(nèi)容(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
Python機(jī)器學(xué)習(xí)入門(mén)(二)之Python數(shù)據(jù)理解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門(mén)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
python監(jiān)控windows服務(wù)器的進(jìn)程和服務(wù)
這篇文章主要為大家詳細(xì)介紹了如何使用python監(jiān)控windows服務(wù)器的進(jìn)程和服務(wù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
Python?Math數(shù)學(xué)函數(shù)常數(shù)冪和對(duì)數(shù)基礎(chǔ)應(yīng)用實(shí)例
Python中的math模塊是數(shù)學(xué)運(yùn)算的重要工具,提供了豐富的數(shù)學(xué)函數(shù)和常數(shù),本文將深入探討math模塊的功能和用法,使您能夠更好地利用Python進(jìn)行數(shù)學(xué)運(yùn)算2023-12-12
django 實(shí)現(xiàn)后臺(tái)從富文本提取純文本
這篇文章主要介紹了django 實(shí)現(xiàn)后臺(tái)從富文本提取純文本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
基于python requests庫(kù)中的代理實(shí)例講解
今天小編就為大家分享一篇基于python requests庫(kù)中的代理實(shí)例講解,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

